http://jsfiddle.net/dmitryfil/4pYaW/1/
<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>
$('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);
});
非常感谢任何建议。
答案 0 :(得分:1)
使用.prop更改checked
和selected
等dom元素的运行时属性。
这些属性的值是布尔值,如true / false,而不是checked / selected。
$('input[name=item-'+val+']').prop('checked', true);
演示:Fiddle
答案 1 :(得分:1)
试试这个,
$('select option').each(function(i, el){
var val = $(this).prop('value');
$('input[name=item-'+val+']').prop('checked', 'checked');
//$('input[name=item-'+val+']').attr('checked', true);
});
prop()
与attr()
不同。 prop()
更改元素的属性,其中attr()
更改属性(以html元素编写的属性)
我强烈建议你在这里查看所有答案 .prop() vs .attr()