0

我有一个 jQuery 脚本,它在 IE7 或 IE8 中不起作用。有趣的是,页面上还有一些其他活动的 jQuery 脚本,这些都可以正常工作,但下面的一个根本不起作用。

我创建了这个jsFiddle 来演示功能。这适用于 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 中停止运行的功能/错误?

4

2 回答 2

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>
于 2013-06-25T09:54:38.827 回答
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());
        }
    });
});

接下来,我必须调整<meta>HTML<head>标记中的标记以包括:

<meta content="IE=EmulateIE7">

我将把它留在这里以供将来参考 - 我希望它有所帮助。

于 2013-06-25T11:23:43.343 回答