1

jQuery each() を使用して、supplier_type[] という名前のチェックボックスのグループを反復しようとしています。それらはすべて一意の ID を持っているので、これを書き直して一意の ID の配列を処理することができましたが、ここでどこが間違っていたのかを突き止めたかったのです。

アラートは、intIndex が正しい数の要素を認識している間、this常に最初の要素を保持していることを示しています。

function setUp(){
    $( 'input[name=supplier_type[]]' ).each(
        function( intIndex ){
            var type = $(this+':checked').val() + 'Table';
            $("#"+type).show("slow");
            alert($(this+':checked').val());  // sees first one each iter
        }       
    );
}

では、正しい要素にどのように対処すればよいでしょうか? bind() を使用する必要がありますか?

ありがとう!

// Drew Wills の応答に基づいて作業バージョンを編集します。ありがとうドリュー!

function setUp(){
    $( 'input[name=supplier_type[]]' ).each(
        function( intIndex ){
            if($(this).attr('checked')) {
                var type = $(this).val() + 'Table';
                $("#"+type).show("slow");
            }
        }       
    );
}
4

1 に答える 1

2

あなたの質問を 100% 理解しているかどうかはわかりませんが、次のスタイルのセレクターには非常に疑いがあります。

$(this+':checked')

「checked」属性の値を知りたいと思っていると思いますが、これはもっと似ています...

$(this).attr('checked')
于 2010-01-27T23:32:16.763 に答える