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的開發工具中)。 –