0

選択したチェックボックスの値を取得するには、 aj クエリを使用します。これは chrome 、Firefox では正常に実行されますが、IE では失敗します。特定の理由で、各チェックボックスに同じ ID を付けましたが、異なる名前を使用しました。例えば

     <input id="LIV" name="<?php echo $value['desc']; ?>" type="checkbox" checked value="<?php echo $value['id']; ?>" /> <?php echo $value['desc']; ?>

       <a class="i-btn-2" onclick="addparameters('LIV');">Add</a>

追加ボタンをクリックすると、次のような関数 addparameter を呼び出します

               function addparameters(id)
              {

                 var tempstr='#'+id+':checked';

                  $(tempstr).each(function(i)
                  {
                        val[i] = $('#'+id).val();
                        val1[i]=($(this).attr('name'));
                        str12=str12+val[i];
                    });
                 }

IE で複数のチェック ボックスを選択すると、最初のチェック ボックスの値のみが表示されます。しかし、クロムでは、選択したすべてのチェック ボックスの値が表示されます。IEで実行するのを手伝ってください

4

3 に答える 3

3

すべてのチェックボックスに異なるIDを指定してください。

それらがすべて同じIDを持っている場合、それらは正しく選択されません...

現在、すべてのチェックボックスにがありますid="LIV"。代わりに、共通のクラスのようなものを使用してすべてを選択してください。

于 2012-06-01T14:27:22.490 に答える
1

ニールが言ったように、各チェックボックスには異なる ID が必要です。HTML のすべての要素でさえ、異なる ID を持つ必要があります。

ID の代わりに、クラスまたは同じ入力名を使用できます。

function addparameters(name) {
    var selector = $('input[name="'+name+'"]:checked');
    $(selector).each(function(i){
        val[i] = $(this).val();
        val1[i] = name;
        str12 = str12+val[i];
    });
}

また

function addparameters(class) {
    var selector = $('input.'+class+':checked');
    $(selector).each(function(i){
        val[i] = $(this).val();
        val1[i] = $(this).attr('name');
        str12 = str12+val[i];
    });
}
于 2012-06-01T14:31:00.930 に答える
1

クラスではなく ID を選択しています。同じ ID を持つことができる要素は 1 つだけですが、複数の要素がクラスを共有できます。したがって、idをクラスに変更すると、機能し始めます。例えば

var tempstr='.'+yourClass+':checked';
于 2012-06-01T14:29:39.743 に答える