2009-04-24 55 views
0

當此函數中的switch語句運行時,IE8會拋出一個「Error:Object required」消息(在實際的jquery庫腳本中出錯,而不是我的javascript文件)。此代碼適用於IE6,IE7,FF3和Safari ...任何想法?它與交換機中的'$(this)'選擇器有關嗎?謝謝!IE8 jquery Javascript「Error:Object required」Bug

 
function totshirts(){ 
    $('.shirt-totals input').val('0'); 
    var cxs = 0; 
    var cs = 0; 
    var cm = 0; 
    $.each($('select.size'), function() { 
     switch($(this).val()){ 
      case "cxs": 
       cxs ++; 
       $('input[name="cxs"]').val(cxs); 
       break; 
      case "cs": 
       cs ++; 
       $('input[name="cs"]').val(cs); 
       break; 
      case "cm": 
       cm ++; 
       $('input[name="cm"]').val(cm); 
       break; 
     } 
    }); 
} 
+0

沒有線索關於哪條線? IE 8確實有一個內置的腳本調試器。 – Greg 2009-04-24 18:49:02

回答

1

我將jQuery庫從1.2.6升級到1.3.2,並解決了這個問題。沒有意識到我有一箇舊版本 - 哎呀。

感謝您的幫助!

3

哦,不,不要那樣做。

做一些沿此線路更多:

$('.shirt-totals input').val('0'); 
$('select.size').each(function() { 
var name = $(this).attr('name'); 
var currVal = parseInt($("input[name='"+name+"']").val()); 
$("input[name='"+name+"']").val(currVal+1); 
}); 

一點題外話,我傾向於認爲jQuery的似乎對付單引號增加了一倍更好做「等於」比較時英寸