|
Помогите решить проблему!
Доброго дня спецы!
Два дня не могу решить проблему. На странице, с помощью скрытого инпута -> <input type="hidden" name="ID" value="<?php echo esc_attr( $listing->ID ); ?>" /> Создаются поля, выпадающие списки, произвольные поля и так далее Одно из них -> <select name="cp_state" id="cp_state" class="dropdownlist required"> Как мне программно присвоить этому <select name="cp_state" id="cp_state" обработчик onchange="CityList(this) Пробовал присвоить в файле custom-forms.php $field_class = ( $result->field_req ) ? 'dropdownlist required' : 'dropdownlist'; $args = array( 'name' => $result->field_name, 'id' => $result->field_name, 'class' => $field_class, 'onchange' => 'CityList(this)' ); Но тогда этот обработчик во всех dropdownlist, а мне нужен только name="cp_state" id="cp_state" Нужно всего лишь сделать вот так: <select name="cp_state" id="cp_state"class="dropdownlist required" onchange="CityList(this)"> и всё. А вот этот <select name="cp_state" id="cp_state" class="dropdownlist required"> штатный, создается самим движком. Как еще можно сделать? Подскажите! |
Я уже думал создать еще один <select name="cp_state2" id="cp_state2" class="dropdownlist required" с обработчиком onchange="CityList(this)"> СКРЫТЫЙ
и копировать или вставлять данные с cp_state в cp_state2 Но этот вариант как то не очень, так как в дальнейшем будет много зависимых селектов. |
rdPavel, открой файл, который создает тебе эти формы и посмотри можно ли там свои атрибуты элементам присваивать или нет.
Во втором случае допили сценарий, либо нужный select руками на странице пропиши. |
Nexus,
Файл form-listing-details.php <form name="mainform" id="mainform" class="form_step" action="<?php echo appthemes_get_step_url(); ?>" method="post" enctype="multipart/form-data"> <?php wp_nonce_field( $action ); ?> <ol> <span class="form-fields"> <li> <div class="labelwrapper"><label><?php _e( 'Category', APP_TD ); ?></label></div> <div class="ad-static-field"><strong><?php echo $category->name; ?></strong> <small><a href="<?php echo $select_category_url; ?>"><?php _e( '(change)', APP_TD ); ?></a></small></div> </li> <?php cp_show_form( $category->term_id, $listing ); ?> </span> <center><p class="btn1"> <input type="submit" name="step1" id="step1" class="btn_orange" value="<?php _e( 'Continue ››', APP_TD ); ?>" / > </p></center> </ol> <input type="hidden" name="action" value="<?php echo esc_attr( $action ); ?>" /> <input type="hidden" name="ID" value="<?php echo esc_attr( $listing->ID ); ?>" /> Как раз последний <?php echo esc_attr( $listing->ID и формирует все эти поля, куда только я не совал onchange="CityList(this)" - срабатывает только у cp_state. Если я его просто в открытом коде в браузере вставлю, всё чотко работает. До перезагрузки страницы. |
Цитата:
Но задача использовать штатный cp_state так как он по всей системе, и в отборах, и фильтрах и в поиске и так далее |
rdPavel, я бы так не стал делать, но это же wordpress))
ob_start(); cp_show_form( $category->term_id, $listing ); $select=ob_get_contents(); ob_end_clean(); $select=str_replace('<select ','<select onchange="CityList(this);" ',$select); echo $select; |
|
rdPavel, а куда мой код был помещен?
PS. По-моему проще подключить к странице скрипт (судя по тому, что в атрибут вставляется наименование пользовательской функции, он уже подключен), в котором обратиться к селекту и повесить на него обработчик. |
rdPavel,
<form name="mainform" id="mainform" class="form_step" action="<?php echo appthemes_get_step_url(); ?>" method="post" enctype="multipart/form-data"> <?php wp_nonce_field( $action ); ?> <ol> <span class="form-fields"> <li> <div class="labelwrapper"><label><?php _e( 'Category', APP_TD ); ?></label></div> <div class="ad-static-field"><strong><?php echo $category->name; ?></strong> <small><a href="<?php echo $select_category_url; ?>"><?php _e( '(change)', APP_TD ); ?></a></small></div> </li> <?php ob_start(); cp_show_form( $category->term_id, $listing ); $select=ob_get_contents(); ob_end_clean(); $select=str_replace('<select ','<select onchange="CityList(this);" ',$select); echo $select; ?> </span> <center><p class="btn1"> <input type="submit" name="step1" id="step1" class="btn_orange" value="<?php _e( 'Continue ››', APP_TD ); ?>" / > </p></center> </ol> <input type="hidden" name="action" value="<?php echo esc_attr( $action ); ?>" /> <input type="hidden" name="ID" value="<?php echo esc_attr( $listing->ID ); ?>" /> |
Nexus,
в <form name="mainform" |
Часовой пояс GMT +3, время: 02:04. |
|