jQuery: показывает div, если выбран определенный параметр <select>? - PullRequest
3 голосов
/ 13 июля 2009

Я работаю на странице адреса для корзины покупок. Есть 2 <select> коробки, одна для страны, одна для региона.

Доступно 6 стандартных стран, либо пользователь должен выбрать «Другая страна». Все элементы <option> имеют числовые значения. Другая страна - 241. Мне нужно скрыть регион <select>, если пользователь выбрал другую страну, а также отобразить текстовое поле.

Любая помощь очень ценится!

Ответы [ 3 ]

6 голосов
/ 13 июля 2009

Вам необходимо привязать функцию к списку выбора, чтобы при ее изменении ваша функция решала, следует ли показывать div. Примерно так ( не проверено, надеюсь, синтаксически близко ). Вот живой пример .

$(document).ready( function() {
  $('#YourSelectList').bind('change', function (e) { 
    if( $('#YourSelectList').val() == 241) {
      $('#OtherDiv').show();
    }
    else{
      $('#OtherDiv').hide();
    }         
  });
});
0 голосов
/ 13 июля 2009

По-моему, для этого вам не нужен jQuery.

Этот простой код JavaScript поможет:

document.getElementById('country_id').onchange = function()
{
    if (this.options[this.selectedIndex].value == 241) {
        document.getElementById('region_id').style.display = 'block';
    } else {
        document.getElementById('region_id').style.display = 'none';
    }
}

value работает для большинства браузеров, но да, для более старых браузеров вам нужно select.options[select.selectedIndex].value. Я обновил свой скрипт.

0 голосов
/ 13 июля 2009

Это тот же принцип, что и этот вопрос . Вам просто нужно подключиться к изменению выбора, проверить val() и hide()/show() деление

...