Я не являюсь ветераном CakePHP и Javascript, поэтому у меня возникают проблемы с кодом.Cakephp не меняет выбранное значение из раскрывающегося списка на значение по умолчанию
То, что я пытаюсь сделать, это создать выпадающий список, используя Formhelper. Существует значение, отображающее другой список (ex: значение 1). Если я выберу «Значение 1», появится второй раскрывающийся список, и если я выберу другое значение из первого списка, второй раскрывающийся список не появится.
Пока все хорошо, это работает. Проблема в том, что если я выберу другой вариант из первого списка, чтобы скрыть второй список, то при повторном отображении второго списка он не сбросит второй вариант списка.
Как сбросить выбранную опцию до пустой опции во втором списке каждый раз, когда я вызываю onChange в firstList?
Это код:
<script type="text/javascript">
function showSecondList(field) {
switch (field.val()) {
case 'value1':
$('#divSecondList').show();
$('#secondList').val("");
break;
default:
$('#secondList').val("");
$('#divSecondList').hide();
}
}
</script>
<div>
<?php $this->Form->input('firstList', array(
'label' => 'firstList',
'type' => 'select',
'empty' => '- select -',
'options' => array(
'value1' => 'value1',
'value2' => 'value2'
),
'onChange' => 'showSecondList($(\'#firstList\'));'
));
?>
</div>
<div id="divSecondList" style="display:none">
<?php echo $this->Form->input('secondList', array(
'label' => 'secondList',
'type' => 'select',
'empty' => '- select -',
'options' => array(
'value1' => 'value1',
'value2' => 'value2'
),
));
?>
</div>
Он должен работать, просто убедитесь, что эхо первого выбора: ' PHP Эхо $ this-> форма-> вход ('firstList', массив (...' – lp1051
Ваш javascript всегда будет выбирать параметр с пустым значением в secondList, независимо от того, какой вариант вы выберете в firstList. Что не работает? – lp1051
Ой, это была опечатка ошибка отсутствия «эха». Я отредактирую ее. Ip1051, я действительно не знаю, потому что я думал, что он должен это сделать, но он не выбирает пустую опцию. Я попытался получить все опции из второго списка, используя jQuery, чтобы увидеть, на самом деле все параметры, но он показывает только опцию, выбранную при показе второго списка. пример: Если я выберем значение2 во втором списке и измените параметр из первого списка, чтобы не отображать второй список. Когда я получаю все варианты из второго списка, он показывает только значение2, а не каждую опцию. –