0

我有一个jQuery脚本,这将无法在IE7或IE8中工作。有趣的是,在页面上还有一些其他的jQuery脚本处于活动状态,并且这些脚本都起作用,但下面的脚本根本不起作用。IE7和8 jQuery问题

我已经创建了这个jsFiddle to demonstrate the functionality。这适用于IE9 +,Chrome和Firefox。

基于特定标准这段代码更新文本框的值:

$(function() { 
    $(".TAB1text1").change(function() { 
     var $tr = $(this).parent().parent(); 
     var type = $tr.find("td:eq(1)").text(); 
     var scale = $tr.find("td:eq(6) input").val(); 
     if (type == " CERTAIN_TEXT_TOTAL " && (scale == 3 || scale == 3.0)) { 
      $(".TAB1text1").not(this).val($(this).val()); 
     } 
    }); 
}); 

任何人都可以发现任何功能/错误会导致这些脚本停在IE7和IE8的运行?

+0

我假设的功能之一'的.css()','.closest()'或'.find()'不被支持,导致脚本无法工作。 –

+0

我也删除了所有正在工作的额外jQuery脚本,而上面的其余两个脚本仍然不起作用。 –

回答

0

我设法工作解决了这个问题。

首先亮相,在.trim()没有工作(所以我编辑我的源代码以删除空格:

$(function() { 
    $(".TAB1text1").change(function() { 
     var $tr = $(this).parent().parent(); 
     var type = $tr.find("td:eq(1)").text(); 
     var scale = $tr.find("td:eq(6) input").val(); 
     if (type == " CERTAIN_TEXT_TOTAL " && (scale == 3 || scale == 3.0)) { 
      $(".TAB1text1").not(this).val($(this).val()); 
     } 
    }); 
}); 

接下来,我必须调整HTML <head>标签内的<meta>标签包括:

<meta content="IE=EmulateIE7"> 

我要离开这里了这个以供将来参考 - 我希望它能帮助

0

试试这个

<script type="text/javascript"> 
    $('#TAB1 td, #TAB2 td, #TAB3 td, #TAB4 td').each(function() { 
     if ($.trim($(this).text()) == 'CERTAIN_TEXT') { 
      $(this).closest('tr').css('background','#FFFF00'); 
     } 
    }); 
    $(function() { 
    $(".TAB1text1").change(function() { 
     var $tr = $(this).parent().parent(); 
     var type = $tr.find("td:eq(1)").text(); 
     var scale = $tr.find("td:eq(6) input").val(); 
     if($.trim(type) == "CERTAIN_TEXT_TOTAL" && (scale == 3 || scale == 3.0)) { 
      $(".TAB1text1").not(this).val($(this).val()); 
     } 
    }); 
    }); 
</script> 
+0

感谢您的支持 - 但IE7不支持'.trim'。 –

+0

其做工精细... $ .trim()将工作 你可以检查此琴 http://jsfiddle.net/Shinov/3WDf5/2/ –

+0

奇怪它不是在IE7(使用浏览器模式下工作对我来说在IE10的开发工具中)。 –