Javascript Jquery复选框更改功能在IE 8中不起作用

Javascript Jquery复选框更改功能在IE 8中不起作用,javascript,jquery,asp.net-mvc,internet-explorer,checkbox,Javascript,Jquery,Asp.net Mvc,Internet Explorer,Checkbox,我有下面的jquery代码,单击复选框我会显示一个弹出值 除了在IE中,在所有其他浏览器中都能正常工作。也就是说,更改时将选中复选框并打开弹出窗口 然而,在IE8中,它没有被检查,但是弹出窗口显示正确 代码: $('#TAndC').change(function(){ if( $('input[name="TAndC"]').is(':checked')) { $('#TandCBox').show(); var termsandcond

我有下面的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;
     }
});

如果您的元素是一个
复选框
而不是一个
下拉列表
,则仍然使用
单击

如果您的选择器引用的是
下拉列表
,如果您需要支持IE8及更旧版本,请使用
单击

看看下面的原因

根据,在提交更改之前不会触发事件

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

引述:

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

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

  • 使用鼠标或键盘导航在选择对象中选择其他选项
  • 更改文本区域中的文本,然后导航出对象

如果您必须支持IE8及更旧版本,则最好使用
单击事件,当您释放鼠标并选择新选项时,会触发该事件。

而不是。更改使用下面的代码,然后重试

$(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;
  }
 });
});

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