2014-10-30 7 views
2

Падение не работает, когда я выбираю тот же вариант второй раз. Это мой код:выпадающий список изменений не работает?

<html> 
    <body> 
     <p>Select a new car from the list.</p> 
     <select id="mySelect" onchange="myFunction()"> 
      <option value="Audi">Audi 
      <option value="BMW">BMW 
      <option value="Mercedes">Mercedes 
      <option value="Volvo">Volvo 
     </select> 
     <script> 
      function myFunction() { 
       var x = document.getElementById("mySelect").value; 
       alert(x); 
      } 
     </script> 
    </body> 
</html> 

Первый раз выбрать любой уход, например: Audi, то он предупреждает Audi, после оповещения снова выберите Audi, то нет предупреждения прихода. Может ли кто-нибудь помочь мне в этом не так?

+0

, кажется, работает нормально, он re .. http://jsfiddle.net/s2n15ydo/ –

+0

выбрать BMW показывает предупреждение, снова выберите BMW, затем наблюдайте? –

+0

@ Абдул Джаббар, ты понял, что я пытаюсь сказать? –

ответ

2

Поскольку вы выбираете ту же опцию TWICE, поэтому никаких изменений в selected объект Dropdown.

Попробуйте, как показано ниже

Обновленный Ответ

var dd = document.getElementById('mySelect');   
var storeLstSlct = document.getElementById('checkIndx'); 
var slctdValue = ''; 

if(dd.selectedIndex == 0) 
{ 
    return false; 
}else if(storeLstSlct.value == dd.options[dd.selectedIndex].value) 
{    
    storeLstSlct.value = 'garbage'; 
    return false;    
}else 
{        
    slctdValue = dd.options[dd.selectedIndex].value;  
    alert(slctdValue); 
    storeLstSlct.value = slctdValue;    
} 

скрипку HERE

+0

Usman, В моем требовании мне нужно использовать только html и javascript. Не могли бы вы помочь мне изменить? –

+0

Кто сказал, что использует jquery? Не включайте его без вызова. –

+0

@GangadharB .. есть ли способ, которым вы можете использовать JQuery ?? – Usman

0

Событие OnChange при попытке выбрать пункт уже выбран изменить обыкновение событие пожара.

+0

, тогда что же происходит с html и javascript? –

+0

Как это ответить на вопрос? –

0

вы забыли закрыть опционные теги и для этого вам нужно приложить OnClick обработчик события для всех вариантов в раскрывающемся списке, смотрите ниже:

var x = document.getElementById("mySelect"); 
 

 
//attach onclick event handlers to options 
 
for (var i = 0; i < x.options.length; i++) 
 
{ 
 
    if (x.options[i].addEventListener) 
 
    { 
 
    /*all other browsers*/ 
 
    x.options[i].addEventListener("click", function() {mysFunction(this)}, false); 
 
    } 
 
    else if (x.options[i].attachEvent) /*ie < 9*/ 
 
    { 
 
    x.options[i].attachEvent("click", function() {mysFunction(this)}); 
 
    } 
 
} 
 

 
//execute my alert box on item select 
 
function mysFunction(elem) { 
 
    alert(elem.value); 
 
}
<select id="mySelect"> 
 
    <option value="Audi">Audi</option> 
 
    <option value="BMW">BMW</option> 
 
    <option value="Mercedes">Mercedes</option> 
 
    <option value="Volvo">Volvo</option> 
 
</select>

+0

Это ответ на вопрос ??? – Usman

+1

это не проблема sir –

+0

@GangadharB - проверить обновленное решение – SolidSnake

0

Вы ищете this??

Добавьте следующий код

$('option').click(function(){ 
     alert($(this).text()); 
    }); 

К сожалению, описанный выше метод не будет работать в «Chrome», попробуйте в «Internet Explorer» или «Mozialla» (по крайней мере IE используется по этой причине: р)

0

Update с демо:http://jsbin.com/hujavalayu/1/edit

Я надеюсь, что это удовлетворит ваши требования, пожалуйста, проверьте ссылку

Trigger the event when selected the same value in dropdown?

<p>Select a new car from the list.</p> 
<select id="ddList" onClick="onSelect()"> 
    <option value="0">Select Me</option> 
    <option value="List1">List1</option> 
    <option value="List2">List2</option> 
    <option value="List3">List3</option> 
</select> 


<script> 
    var prevIndex = ""; 

    function onSelect() { 
     var currIndex = document.getElementById("ddList").selectedIndex; 
     if (currIndex > 0) { 
      if (prevIndex != currIndex) { 
       alert("Selected Value = " + document.getElementById("ddList").value); 
       prevIndex = currIndex; 
      } else { 
       prevIndex = ""; 
      } 
     } 
    } 
</script> 
Смежные вопросы