Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.08.2017, 11:49
Аспирант
Отправить личное сообщение для rdPavel Посмотреть профиль Найти все сообщения от rdPavel
 
Регистрация: 02.08.2017
Сообщений: 33

Помогите решить проблему!
Доброго дня спецы!
Два дня не могу решить проблему.

На странице, с помощью скрытого инпута ->

<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"> штатный, создается самим движком.

Как еще можно сделать?
Подскажите!
Ответить с цитированием
  #2 (permalink)  
Старый 02.08.2017, 11:55
Аспирант
Отправить личное сообщение для rdPavel Посмотреть профиль Найти все сообщения от rdPavel
 
Регистрация: 02.08.2017
Сообщений: 33

Я уже думал создать еще один <select name="cp_state2" id="cp_state2" class="dropdownlist required" с обработчиком onchange="CityList(this)"> СКРЫТЫЙ

и копировать или вставлять данные с cp_state в cp_state2
Но этот вариант как то не очень, так как в дальнейшем будет много зависимых селектов.
Ответить с цитированием
  #3 (permalink)  
Старый 02.08.2017, 12:08
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,794

rdPavel, открой файл, который создает тебе эти формы и посмотри можно ли там свои атрибуты элементам присваивать или нет.
Во втором случае допили сценарий, либо нужный select руками на странице пропиши.
Ответить с цитированием
  #4 (permalink)  
Старый 02.08.2017, 12:17
Аспирант
Отправить личное сообщение для rdPavel Посмотреть профиль Найти все сообщения от rdPavel
 
Регистрация: 02.08.2017
Сообщений: 33

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>&nbsp;&nbsp;<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 &rsaquo;&rsaquo;', 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.
Если я его просто в открытом коде в браузере вставлю, всё чотко работает. До перезагрузки страницы.
Ответить с цитированием
  #5 (permalink)  
Старый 02.08.2017, 12:25
Аспирант
Отправить личное сообщение для rdPavel Посмотреть профиль Найти все сообщения от rdPavel
 
Регистрация: 02.08.2017
Сообщений: 33

Сообщение от Nexus Посмотреть сообщение
rdPavel, открой файл, который создает тебе эти формы и посмотри можно ли там свои атрибуты элементам присваивать или нет.
Во втором случае допили сценарий, либо нужный select руками на странице пропиши.
В том то и дело, что можно свой селект создать и не парится.
Но задача использовать штатный cp_state так как он по всей системе, и в отборах, и фильтрах и в поиске и так далее
Ответить с цитированием
  #6 (permalink)  
Старый 02.08.2017, 12:39
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,794

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;
Ответить с цитированием
  #7 (permalink)  
Старый 02.08.2017, 12:43
Аспирант
Отправить личное сообщение для rdPavel Посмотреть профиль Найти все сообщения от rdPavel
 
Регистрация: 02.08.2017
Сообщений: 33

Nexus,
https://drive.google.com/open?id=0Bz...XVOT2hJS2VpQms
Ответить с цитированием
  #8 (permalink)  
Старый 02.08.2017, 12:47
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,794

rdPavel, а куда мой код был помещен?
PS. По-моему проще подключить к странице скрипт (судя по тому, что в атрибут вставляется наименование пользовательской функции, он уже подключен), в котором обратиться к селекту и повесить на него обработчик.

Последний раз редактировалось Nexus, 02.08.2017 в 12:51.
Ответить с цитированием
  #9 (permalink)  
Старый 02.08.2017, 12:49
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,794

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>&nbsp;&nbsp;<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 &rsaquo;&rsaquo;', 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 ); ?>" />
Ответить с цитированием
  #10 (permalink)  
Старый 02.08.2017, 12:52
Аспирант
Отправить личное сообщение для rdPavel Посмотреть профиль Найти все сообщения от rdPavel
 
Регистрация: 02.08.2017
Сообщений: 33

Nexus,
в <form name="mainform"
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите решить проблему! Очень прошу помочь! sizdim Элементы интерфейса 2 06.04.2015 07:59
Помогите решить проблему со скроллом Jigan2 jQuery 0 20.03.2015 10:42
Помогите решить проблему Ingiborn Общие вопросы Javascript 0 10.07.2014 13:12
History API. Помогите решить проблему InviS Events/DOM/Window 2 16.10.2011 14:34
Помогите решить проблему felixfix Общие вопросы Javascript 4 21.04.2011 12:00