所以我在这个jQuery片段中有一些奇怪的功能:
$(document).ready(function()
{
$('.pinToggles').attr('checked','checked');
})
这是html:
<input type="checkbox" id="redCheck" name="pinSet" value="Red" class="pinToggles" onclick="pinSetCheck(redSet)">Red
<input type="checkbox" id="yellowCheck" name="pinSet" value="Yellow" class="pinToggles" onclick="pinSetCheck(yellowSet)">Yellow<br>
<input type="checkbox" id="greenCheck" name="pinSet" value="Green" class="pinToggles" onclick="pinSetCheck(greenSet)">Green
<input type="checkbox" id="blueCheck" name="pinSet" value="Blue" class="pinToggles"onclick="pinSetCheck(blueSet)">Blue<br>
最终发生的事情是,如果我取消选中某些框然后重新加载,它将只检查第一个未选中的框,然后每次刷新后检查以下未选中的框。我想要的功能是刷新是要检查的所有复选框。
我能用javascript实现这一点:
document.getElementById('redCheck').checked = true;
document.getElementById('yellowCheck').checked = true;
document.getElementById('greenCheck').checked = true;
document.getElementById('blueCheck').checked = true;
但我认为jQuery是更好的做法,但不确定为什么它会以现在的方式作出反应。
答案 0 :(得分:3)
使用
$('input:checkbox[name="pinSet"]').prop('checked',true);
或
$('.pinToggles').prop('checked',true);
或
$('#redCheck,#yellowCheck,#greenCheck,#blueCheck').prop('checked',true);
$(elem).prop(“checked”)true(布尔值)将随复选框一起更改 状态
$(elem).attr(“checked”)(1.6)“checked”(String)的初始状态 复选框;不会改变