2009-07-13 4 views
3

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

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

Любая помощь МНОГО оценили!

ответ

6

Вам нужно привязать функцию к списку выбора, чтобы при ее изменении ваша функция решила, должен ли отображаться div. Что-то вроде этого ( непроверено, надеюсь синтаксически закрывается). Вот live example.

$(document).ready(function() { 
    $('#YourSelectList').bind('change', function (e) { 
    if($('#YourSelectList').val() == 241) { 
     $('#OtherDiv').show(); 
    } 
    else{ 
     $('#OtherDiv').hide(); 
    }   
    }); 
}); 
+0

Легенда! Это дало мне основной план, и я смог понять это оттуда. Спасибо за ваше время, и пример, который вы написали, - очень ценю! :) – 2009-07-13 05:13:13

0

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

+0

Спасибо за ваш вклад! – 2009-07-13 05:15:06

-1

На мой взгляд, для этого вам не нужен 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

Значение не работает при выборе. –

+0

Не тестировали это, так как я закончил использовать другое решение, но по достоинству оценил ваш вклад - спасибо! – 2009-07-13 05:14:33

+1

Это почти что - вам нужно индексировать в select, чтобы получить значение выбранного параметра. Я согласен, что если вы не используете jquery, эта проблема не будет хорошей причиной для начала. НО, если у вас уже есть jquery в проекте, продолжайте использовать его! –