0

この関数の switch ステートメントが実行されると、IE8 は「エラー: オブジェクトが必要です」というメッセージ (JavaScript ファイルではなく、実際の jquery ライブラリ スクリプトのエラー) をスローします。このコードは、IE6、IE7、FF3、および Safari で動作します...アイデアはありますか? スイッチの「$(this)」セレクターと何か関係がありますか? ありがとう!

関数 totshirts(){
    $('.shirt-totals input').val('0');
    var cxs = 0;
    var cs = 0;
    変数cm = 0;
    $.each($('select.size'), 関数() {
        switch($(this).val()){
            ケース "cxs":
                cxs ++;
                $('input[name="cxs"]').val(cxs);
                壊す;
            ケース "cs":
                cs ++;
                $('input[name="cs"]').val(cs);
                壊す;
            ケース "cm":
                cm ++;
                $('input[name="cm"]').val(cm);
                壊す;
        }
    });
}
4

2 に答える 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は二重引用符よりも単一引用符をうまく処理しているように見える傾向があります。

于 2009-04-24T18:51:08.673 に答える
1

jQuery ライブラリを 1.2.6 から 1.3.2 にアップグレードしたところ、問題は解決しました。古いバージョンがあることに気づきませんでした-おっと。

助けてくれてありがとう!

于 2009-04-28T14:12:40.540 に答える