2014-01-14 3 views
0

У меня есть выпадающее меню. Меню предназначено только для показа и ничего не вносит в форму. Тем не менее, я хочу, чтобы опция «b» отображала предупреждение/сообщение, когда оно выбрано/нажато. НО, тогда я хочу, чтобы опция «a» была выбрана после того, как пользователь закроет предупреждение (аналогично disabled).Предупреждение или сообщение по определенной опции, выбранной в меню выбора

<select name="fake"> 
    <option name="a">a</option> 
    <option name="b">b</option> 
</select> 

Я нашел другой код javascript, но ничего, что мне подходит.

EDIT

Это на полпути к тому, что мне нужно:

<select onchange="selectChangeHandler(this)"> 
    <option>a</option> 
    <option>b</option> 
</select> 
<script> 
    function selectChangeHandler(selectNode) { 
     if (selectNode.selectedIndex !== 2) { 
      alert("I'm alert option!"); 
     } 
    } 
</script> 

Однако, когда пользователь выбирает опцию «б» и отображается предупреждение, я хочу, возможность вернуться к выбору "а"

+0

Что вы нашли? Что вы ПРОТИВ? Можете ли вы использовать jQuery или какую-либо другую библиотеку? – MythThrazz

+0

Вы будете быстрее работать с использованием атрибута _id_ на ' a

ответ

0

вы можете вызвать функцию яваскрипта по вызову onchange() событий.

HTML

<select name="fake" onchange="change(this);"> 
    <option value="a" name="a">a</option> 
    <option value="b" name="b">b</option> 
</select> 

Javascript,

<script> 
function change(selBox) { 
    for(var i, j = 0; i = selBox.options[j]; j++) { 
     if(i.value == "b" && selBox.selectedIndex != 0) { 
      alert("you've clicked b"); 
      selBox.selectedIndex = 0; 
     } 
    } 
    } 
</script> 
+0

ваш код работает отлично в Chrome, но не так, как должно быть с IE. В IE я могу выбрать «b», он дает мне предупреждение, но опция остается выбранной. Затем, выбрав «a», снова появляется предупреждение. – ryerye

+0

см. мой обновленный ответ ... –

+0

Бинго! Ты легенда! Приветствия – ryerye

0
$('#chk').change(function(){ 
    if($(this).val() === 'a') 
     alert("You Clicked a!"); 
}); 

где CHK является идентификатор выбора элемента

если вы используете имя, то

$('#chk').change(function(){ 
    if($(this).attr('name') === 'a') 
     alert("You Clicked a!"); 
}); 

где CHK является идентификатором выбора элемента

+0

Этот вопрос не упоминает _jQuery_ или иметь его меченой (предполагается, что '' $ является _jQuery_ в вашем коде) –

+0

уа его .. JQuery –

+0

нет, им не с помощью JQuery. @ReNiShAR – ryerye

Смежные вопросы