Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 选择显示/隐藏IE9问题选项_Javascript_Select_Option - Fatal编程技术网

Javascript 选择显示/隐藏IE9问题选项

Javascript 选择显示/隐藏IE9问题选项,javascript,select,option,Javascript,Select,Option,Hy 我有一个很长的列表,我决定把所有的内容列表都放在一个选择选项中,然后当你选择某个制造商时,它会显示该制造商的电话号码,以防万一。当我在不同的浏览器(Chrome、Firefox、Opera、Safari)上测试它时,当我使用著名的InternetExplorer(9版)时,boom不起作用。当我选择任何选项时,它根本不显示任何内容 我的以下html标记是: <select id="technical-assit"> <option valu

Hy

我有一个很长的列表,我决定把所有的内容列表都放在一个选择选项中,然后当你选择某个制造商时,它会显示该制造商的电话号码,以防万一。当我在不同的浏览器(Chrome、Firefox、Opera、Safari)上测试它时,当我使用著名的InternetExplorer(9版)时,boom不起作用。当我选择任何选项时,它根本不显示任何内容

我的以下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>

选择制造商
3COM
3DFX
宏碁
艾利斯
美国在台协会
阿格法
艾尔电话/沃达丰
爱华
阿尔卡特
91 509 69 00
900 501 303
902 202 323
902 103 444
902 11 66 21
902 15 25 93
607 123 000
91 358 11 02
91 330 40 00
这只是列表中的一小部分。我的java脚本标记是:

<script>

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

</script>

$(函数(){
$(“#技术助理”)。更改(功能(){
$('.contact number').hide();
$('#'+$(this.val()).show();
});
});
有什么想法吗


谢谢

原因是IE对更改方法有一些问题,您可以看到,您也可以看到,它说,从jQuery 1.4开始,Internet Explorer中的更改事件会出现气泡,与其他现代浏览器中的事件行为一致。

要呈现此作品,您应该使用单击方法,而不是IE中的更改,对于其他浏览器,如mozilla、chrome。。。。使用变更方法

要在一个步骤中完成此操作,您可以使用change并同时单击,如下所示:

<script>

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

$(函数(){
$(“#技术援助”).live(“更改单击”,函数(){
$('.contact number').hide();
$('#'+$(this.val()).show();
});
});

此代码使用.live()响应这两个事件


注意:如果您使用jQuery 1.7+live()方法,则会删除该方法,您可以使用on()方法来代替它

您能确认是否调用了
更改处理程序吗?您的意思是什么?我选择的任何选项都不会显示。我举了一个小例子——我的意思是,如果你在
更改
处理程序中放置一个警报stmt,无论它是否出现在IE9中,它似乎与IE9一起工作正常。。。您是否设置了页面的
!DOCTYPE
X-UA-COMPATIBLE
标签?检查这里:当我添加X-UA-COMPATIBLE标签时,它起作用了。我头上没有那个标签。非常感谢。