【问题标题】:Jquery: change event not triggered in IEJquery:在 IE 中未触发更改事件
【发布时间】:2010-05-28 08:56:03
【问题描述】:

我有一些代码更新下拉列表,然后我手动触发“更改”事件。它在 firefox、opera 等中的工作方式与在 Firefox、Opera 等中的工作方式类似,但在 Internet Explorer 中则不然。知道为什么吗?

代码附在下面。

$(".bringFraktvalgRadio").click(function() {
    var selectedValue = $(".bringFraktvalgRadio:checked").val();
    $("#<%= dropDeliveryOption.ClientID %> option[value=" + selectedValue + "]").attr("selected", true);
    $("#<%= dropDeliveryOption.ClientID %>").trigger("change");
});

【问题讨论】:

  • 您可以使用$("#&lt;%= dropDeliveryOption.ClientID %&gt;").val(selectedValue);选择选项
  • +1 欢迎来到 Stack Overflow,Kenneth。如果您使用鼠标或键盘更改项目,该事件是否会为您触发?你能发布更改处理功能吗?
  • change 事件如何附加到select?通过 jQuery 或其他方式?顺便说一句,使用运行时值创建选择器时要非常小心:如果selectedValue 包含空格或标点符号,您的选择器将变得无效并可能停止工作。在任何情况下您都不需要这样做,因为 jQuery 允许您直接设置 &lt;select&gt;val()
  • 安迪:是的,确实如此。 Bobince:这是一个带有自动回发功能的 ASP 下拉列表。
  • 你页面的html是否有效?由于您忘记关闭 div 或您的 html 格式不正确,因此 Javascript 的行为与预期不符。

标签: jquery internet-explorer drop-down-menu


【解决方案1】:

查看我的question and answer 与复选框类似的内容。检查我给出的答案有一个链接,不要忘记使用模糊和焦点。

【讨论】:

    【解决方案2】:

    抱歉,更改事件在 IE(主要是 IE6)中无法正常工作。

    1:您要做的是在选择时设置“点击”监听器,然后触发“点击”。

    2:更好的解决方法是在选择时添加您自己的事件。在 jQ 中,我们这样做:

    $("#yourSelect").bind('myChange',function(){
     //do the chacha
    })
    

    然后像这样触发它:

    $("#yourSelect").trigger("myChange");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-10
      • 1970-01-01
      • 2021-09-17
      • 1970-01-01
      • 2017-05-31
      • 1970-01-01
      • 1970-01-01
      • 2023-03-16
      相关资源
      最近更新 更多