2010-10-19 151 views
2

首先,代码可能会吸引人,因为我是新的JQuery。我有这样的HTML:JQuery下拉菜单适用于Firefox,但不适用于谷歌浏览器

<select name="numberItems" id="id_numberItems"> 
<option value="1" selected="selected">1</option> 
<option value="2">2</option> 
<option value="3">3</option> 
<option value="4">4</option> 
<option value="5">5</option> 
</select> 
<fieldset class="dropdownList"> 
    [...] 
</fieldset> 
<fieldset class="dropdownList"> 
    [...] 
</fieldset> <!-- This fieldset is repeated 5 times --> 

这是我的jQuery代码:

​​

此下拉事情是工作在Firefox,而不是在谷歌浏览¿为什么呢?由于

+0

使用Chrome,“Ctrl + Shift + J” - >控制台打开您的页面,点击下拉菜单,然后查看控制台中出现了什么问题。也许这可以提供一些有用的信息。 – jolt 2010-10-19 08:31:06

+0

你有一个演示页面吗? – Petah 2010-10-19 08:36:02

+0

我试过CTRL + SHIFT + J,但我不知道热调试内联脚本,它不是在单独的文件中。 Firefox中的FireBug调试顺利进行。 – maraujop 2010-10-19 08:40:03

回答

1

附上您的下拉列表功能的change -event你下拉的,它应该工作,你希望的方式(或我的水晶球显示我...)

$("#id_numberItems").change(function() { dropDown($('#id_numberItems').val()) }); 

example on jsbin.com

+0

你是对的,你能告诉我为什么会发生这种情况吗?谢谢 – maraujop 2010-10-19 10:02:44

+0

我不确定规范说的关于select元素的onclick行为。当您单击其他浏览器的选项时,Chrome将不会调用该选择的点击事件。在页面加载后的第一次点击时,由于“预选”,您将得到“1”作为值。下次单击选择时,您将获得前一个选择的值,依此类推。所以如果没有特别的理由,你应该总是使用onchange事件。 – Andreas 2010-10-19 11:06:17

+0

更改事件在可访问性方面也是更好的选择,因为无论用户是通过鼠标或键盘与页面交互,它都会被调用。 – 2012-02-27 15:00:29

相关问题