Как я могу заполнить другой выпадающий список событием onChange первого выпадающего списка? - PullRequest
4 голосов
/ 16 ноября 2008

с помощью jquery или просто с помощью javascript, я хочу заполнить 2-й выпадающий список из выбора первого выпадающего списка. Значение первого раскрывающегося списка является условием для получения строк для второго раскрывающегося списка.

Как выглядит событие onChange?

Ответы [ 2 ]

5 голосов
/ 16 ноября 2008

на самом деле есть плагин, который делает именно это ...

http://code.google.com/p/jqueryselectcombo/

2 голосов
/ 28 мая 2010

Далее следует функциональное, но менее элегантное решение. Это способ заполнения списка выбора штатов / провинций в зависимости от того, выбран ли в первую очередь США (США) или Канада (ЦС). США и штаты США видны по умолчанию. Этот метод основывается на простом соглашении о присвоении имен классам для группировки параметров состояния в зависимости от их родительской страны.

JS:

$('#s_country').change(function() {
    $('#s_state .state_CA').hide();
    $('#s_state .state_US').hide();
    $('#s_state').val('');
    var value = $.trim($("#s_country").val());
    $('#s_state').show();
    $('#s_state .state_'+ value).show();
});

HTML:

<select name="s_state" id="s_state">
<option value="none"></option>
<? foreach ($states_us as $v):
    $selected = ($v->state_code == $current_state)?'selected="selected"':''; ?>
    <option class="state_US" value="<?=$v->state_code?>" <?=$selected?> ><?=ucfirst($v->state)?></option>
<? endforeach;?>
<? foreach ($states_ca as $v):
    $selected = ($v->state_code == set_value('s_state'))?'selected="selected"':'';                          ?>
    <option class="state_CA" value="<?=$v->state_code?>" <?=$selected;?>><?=ucfirst($v->state)?></option>
<? endforeach; ?>   
</select>

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...