【问题标题】:Jquery check box change function not working in IE 8Jquery复选框更改功能在IE 8中不起作用
【发布时间】:2014-01-07 21:52:46
【问题描述】:

我有以下 jquery 代码,点击复选框我会显示一个弹出值。

除了在 IE 中,在所有其他浏览器中它都按预期工作。也就是说,在更改时将选中复选框并打开弹出窗口。

但是在 IE8 中它没有得到检查,但是弹出窗口显示正确。

代码:

$('#TAndC').change(function(){

    if( $('input[name="TAndC"]').is(':checked')) 
    {
         $('#TandCBox').show();
         var termsandcondition = GetEnum().TermsandConditionsPageId;
         var actionURL = '@Url.Action("ShowTAndC", "Account", new { isFromCheckBox = true })';
         $('.popUpForm').load(actionURL);
         var msgBox = $('#terms').attr('href');
         MaskMsgPopUp(msgBox);
         return false;
     }
});

【问题讨论】:

  • 为什么返回false?删除它并尝试。请提供一个 jsfiddle 或至少相关的 HTML 标记,#TAndC 是什么类型的元素,一个复选框,一个文本框???
  • 实际上我只是在发布之前编辑了名称。对此感到抱歉。将尝试建议的方法。

标签: javascript jquery asp.net-mvc internet-explorer checkbox


【解决方案1】:

如果您的元素是checkbox 而不是dropdown,那么无论如何都要使用click

如果您的选择器指的是 dropdown,如果您需要支持 IE8 和更早版本,请使用 click

看看下面的原因。

根据MSDN for change/onchange,在提交更改之前不会触发事件。

此外,以编程方式更改值时也不会触发事件。

引用:

提交内容时触发此事件,而不是在 价值正在改变。例如,在文本框上,不会触发此事件 在用户键入时,而不是在用户提交更改时 通过离开具有焦点的文本框。此外,本次活动是 当控件也被onblur指定的代码之前执行 失去焦点。选择时不会触发 onchange 事件 选择对象的选项以编程方式更改。更改的文本 选择已提交。

要调用此事件,请执行以下操作之一:

  • 使用鼠标或键盘导航在选择对象中选择不同的选项。
  • 更改文本区域中的文本,然后导航到对象之外。

如果您必须支持 IE8 和更早版本,您可能最好使用 click 事件,而不是在您释放鼠标并选择新选项时触发 get。

【讨论】:

    【解决方案2】:

    而不是 .change 使用下面的代码并尝试

    $(document).ready(function(){
    
    $(document).on('click','#TAndC',click_function){
    
     if( $('input[name="TAndC"]').is(':checked')) 
     {
          $('#TandCBox').show();
          var termsandcondition = GetEnum().TermsandConditionsPageId;
          var actionURL = '@Url.Action("ShowTAndC", "Account", new { isFromCheckBox = true })';
          $('.popUpForm').load(actionURL);
          var msgBox = $('#terms').attr('href');
          MaskMsgPopUp(msgBox);
          return false;
      }
     });
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多