http://jsfiddle.net/dmitryfil/4pYaW/1/
- ブラウザ - クロム
- デフォルトでチェックされている一連のチェックボックスがあります。
- 2つのオプションを選択しています(オプションの値がチェックボックスにリンクされている場合)
- 選択に基づいてチェックボックスをチェックしようとすると (2 つを選択する必要があります)、1 つのチェックボックスのみが選択されます。
HTML:
<input type="checkbox" name="item-a" checked="checked" />
<input type="checkbox" name="item-b" />
<input type="checkbox" name="item-c" />
<hr />
<select multiple>
<option value="a">a</option>
<option value="b">b</option>
</select>
JS:
$('input[type=checkbox]:checked').attr('checked', false);
//$('input[type=checkbox]:checked).removeAttr('checked');
$('select option').each(function(i, el){
var val = $(this).attr('value');
$('input[name=item-'+val+']').attr('checked', 'checked');
//$('input[name=item-'+val+']').attr('checked', true);
});
ノート:
- チェックボックスがデフォルトでチェックされていない場合、正常に機能します。
- attr('checked', false) および removeAttr('checked') でチェックを外すと、異なる結果が生成されます。
ご提案いただきありがとうございます。