下拉列表更改事件在IE9中不起作用

时间:2011-10-10 07:46:13

标签: javascript jquery asp.net-mvc razor

我有这段代码,只是拒绝合作,我试图查看语法,试过.change,.click事件,什么都行不通,我试图提醒用户,如果函数工作,没什么。 下面是Javascript代码:

$('#ProductNamesList').change(function () {
    alert('JQuery works!');
});

生成下拉列表的HTMLHelper

@Html.DropDownList("ProductNamesList", New SelectList(Model.ProductList))

有人可以帮忙吗?由于我们的要求,我无法在其他浏览器中测试它 - .-

为了记录,我使用的是jquery-1.6.4.js和jquery-ui-1.8.16.js

4 个答案:

答案 0 :(得分:1)

我已经尝试了以下代码,但它确实有效。

<form action="">
  <select id="sel">
    <option>AUDI</option>
    <option>Axel</option>
    <option>BCS</option>
    <option>BIBO</option>
   </select>
</form>
<p id=result>

和javascript:

$(document).ready(function() {
  $("#sel").change(function () {
    alert("JQuery works!");
 });
});

当我在现场演示中尝试时,我收到错误$未定义。我创建了一个jsfiddle也可以正常工作。

http://jsfiddle.net/rtFUs/

所以你要做的就是确保你正确地添加jquery并且选择框的id是“mySelectBoxId”并且你用#引用它,例如$(“#mySelectBoxId”),就是这样。

答案 1 :(得分:1)

试试这个

$(document).ready(function() {
  $('#ProductNamesList').live('change', function (event) {
     alert('JQuery works!');
 });

});

答案 2 :(得分:1)

观看您的现场演示,似乎问题在于使用name="#sel"。正确的表示法是id="sel"

如果您坚持使用name属性,请使用jQuery选择器[name="sel"]。另请注意,哈希符号在属性值中是多余的。

答案 3 :(得分:1)

我没有看到它有什么问题,以下在Fi​​refox和IE8中为我工作(这里没有IE9)。

@Html.DropDownList("ProductNamesList", new SelectList(Model.ProductList))
<script type="text/javascript">
   $('#ProductNamesList').change(function () {
      alert('JQuery works!');
   });
</script>

主页是否正确连接,对jquery的引用是否正确?