0

ドロップダウンをクリックするときにチェックされているチェックボックスを削除し、ドロップダウンリストのチェックボックスをオンにします。たとえば、私はこのコードを持っています

<input id="item-1" type="checkbox">item1</input>
<input id="item-2" type="checkbox">item2</input>
<input id="item-3" type="checkbox">item3</input>

<select id="dropdown">
   <option value="1,2">check the item 1 and 2</option>
   <option value="1,3">check the item 1 and 3</option>
   <option value="1,2,3">check the item 2 and 3</option>
</select>

これが私のjqueryコードです

$('#dropdown').live("change", function() {
    //remove all the chekced checkboxes
    $('input:checkbox').removeAttr('checked');
    //check chekboxes
    var selected = $('#dropdown :selected').val();
    dataitem = selected.split(',');
    $.each(dataitem, function(key, item) {
        $('#item-' + item).attr('checked', true);
    });
});

ここで起こったことは、このコードを追加すると

$('input:checkbox').removeAttr('checked');

チェックされているチェックボックスはすべて削除されますが、ドロップダウンリストで選択しても追加されません。しかし、そのコードを削除すると、チェックボックスがオンになりますが、前にチェックしたチェックボックスでは削除されません。

4

2 に答える 2

2

私には問題なく機能しているようです<option value="1,2,3">が、それがテキストと矛盾していることに気付き、に変更しました<option value="2,3">

参照: http://codepen.io/AlienHoboken/pen/knCHh

于 2013-01-15T12:24:43.120 に答える
0
      <input id="item-1" type="checkbox">item1</input>  
      <input id="item-2" type="checkbox" value="item2">
       <input id="item-3" type="checkbox" value="item3">

     <select id="dropdown">
       <option value="1,2">check the item 1 and 2</option>
        <option value="1,3">check the item 1 and 3</option>
      <option value="2,3">check the item 2 and 3</option>
     </select>


     $('#dropdown').live("change", function() {
     //remove all the chekced checkboxes
     $('input:checkbox').attr('checked', false);
        //check chekboxes
     var selected = $('#dropdown :selected').val();
     dataitem = selected.split(',');
     $.each(dataitem, function(key, item) {
           $('#item-' + item).attr('checked', true);
         });
     });
于 2013-01-15T12:27:54.377 に答える