2013-06-19 3 views
0

Hy,Выберите опцию показать/скрыть IE9 вопрос

У меня есть длинный список, и я решил 2 покороче, поставив весь список содержимого в некоторых вариантах, и при выборе определенного производителя он показывает телефон номер для этого производитель в случае. Когда я тестировал его в разных браузерах (Chrome, Firefox, Opera, Safari), когда я попал в знаменитый Internet Explorer (версия 9), бум не работает. Когда я выбираю любой вариант, он вообще ничего не показывает.

Мой следующий HTML разметка:

<select id="technical-assit"> 
       <option value="choose-brand">Choose Manufacturer</option> 
       <option value="3COM">3COM</option> 
       <option value="3DFX">3DFX</option> 
       <option value="ACER">ACER</option> 
       <option value="AIRIS">AIRIS</option> 
       <option value="AIT">AIT</option> 
       <option value="AGFA">AGFA</option> 
       <option value="AIRTEL">AIRTEL/VODAFONE</option> 
       <option value="AIWA">AIWA</option> 
       <option value="ALCATEL">ALCATEL</option> 
</select> 

<div id="3COM" class="contact-number" style="display:none">91 509 69 00</div> 
<div id="3DFX" class="contact-number" style="display:none">900 501 303</div> 
<div id="ACER" class="contact-number" style="display:none">902 202 323</div> 
<div id="AIRIS" class="contact-number" style="display:none">902 103 444</div> 
<div id="AIT" class="contact-number" style="display:none">902 11 66 21</div> 
<div id="AGFA" class="contact-number" style="display:none">902 15 25 93</div> 
<div id="AIRTEL" class="contact-number" style="display:none">607 123 000</div> 
<div id="AIWA" class="contact-number" style="display:none">91 358 11 02</div> 
<div id="ALCATEL" class="contact-number" style="display:none">91 330 40 00</div> 

лишь малая часть списка. И моя разметка java-скрипта:

<script> 

    $(function() { 
    $('#technical-assit').change(function(){ 
     $('.contact-number').hide(); 
     $('#' + $(this).val()).show(); 
    }); 
}); 

</script> 

Любые идеи?!

Спасибо

+0

Можете ли вы проверить, вызван ли обработчик 'change'? –

+0

Что это значит? Любая опция, которую я выбираю, не отображается. Я сделал небольшой пример - http://jsfiddle.net/Machy/48EtT/ – mstroiu

+0

Я имел в виду, что если вы помещаете предупреждение в обработчик 'change', появляется ли он в IE9 –

ответ

0

причиной является то, что IE есть некоторые проблемы с методом изменения вы можете увидеть , и вы также можете увидеть change method in documentation, это сказать, что По JQuery 1.4, событие изменения пузырьков в Internet Explorer, ведет последовательно с событием в других современных браузерах.

для рендеринга этой работы вы должны использовать , но вместо этого нажмите кнопку, а не в IE, а для других браузеров, таких как mozilla, chrome .... use change method.

сделать это в одном шаге вы можете использовать изменения и нажмите в то же время, как это:

<script> 

$(function() { 
    $('#technical-assit').live("change click", function(){ 
     $('.contact-number').hide(); 
     $('#' + $(this).val()).show(); 
    }); 
}); 

это использование кода .live() в ответ на оба события

примечание: если вы используете jQuery 1.7+ live() метод удален и вы можете использовать on() вместо

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