Скройтесь/Покажите <выбирают> в зависимости от другого <выбор>

Я имею два <select> элементы. Первый содержит страны (например, США, Канада, Англия, Россия, Польша...), и второй скрыт, содержа города только из США и Канады (например, Нью-Йорк, Лос-Анджелес, Чикаго... ИЛИ Оттава, Ванкувер, Суррей...)

Если пользователь выбирает Канаду или США сначала <select>, второе должно показать и позволить ему выбирать свой город.

Можно ли это сделать? Я посетил столько веб-сайтов с Ajax и формами Проверки JQuery и не нашел, что некоторый подобный источник сделал это.

Спасибо.

1
задан Andy E 25 July 2010 в 21:13
поделиться

2 ответа

Прослушайте событие изменения для списка select. В событии изменения, если выбранное значение равно "США" или "Канада", покажите другой список выбора, в противном случае скройте его.

Смотрите пример.

Предположим, что структура select выглядит так:

<select id="countries">
    <option val="USA">USA</option>
    <option val="Canada">Canada</option>
    <option val="Australia">Australia</option>
    ...
</select>

<select id="cities">
    <option val="Vancouver">Vancouver</option>
    <option val="New York">New York</option>
    ...
</select>

Прослушайте событие изменения массива countries.

$("#countries").change(function() {
    // find the selected country
    var selectedCountry = $(this).val();
    // if US or Canada
    if(selectedCountry == "USA" || selectedCountry == "Canada") {
        // show the cities list
        $("#cities").show();
    }
    // otherwise hide it
    else {
        $("#cities").hide();
    }
});
1
ответ дан 2 September 2019 в 22:47
поделиться

Все очень просто.
Во-первых, подготовьте обработчик события change http://api.jquery.com/change/
Во-вторых, проверьте значение вашего select val : http://api.jquery.com/val/
В-третьих, отобразите или скройте ваш второй select. http://api.jquery.com/hide/ или http://api.jquery.com/show/

1
ответ дан 2 September 2019 в 22:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: