我有两个复选框,我想让它们像单选按钮一样(当时只检查其中一个)。
所以,我很容易找到一个可以解决这个问题的jQuery解决方案:
$("input:checkbox").click(function(){
var group = "input:checkbox[name='"+$(this).attr("name")+"']";
$(group).attr("checked",false);
$(this).attr("checked",true);
});
HTML看起来像这样:
<div class="radio">
<label for="q_is_active_true">Is active</label>
<input name="radio_buttons" type="hidden" value="0"><input id="q_is_active_true" name="radio_buttons" type="checkbox" value="1">
<label for="q_is_active_false">Is not active</label>
<input name="radio_buttons" type="hidden" value="0"><input id="q_is_active_false" name="radio_buttons" type="checkbox" value="1">
</div>
但是当我点击其中一个复选框时,即使其“check”属性设置为“checked”,也不会显示勾号:
答案 0 :(得分:20)
您需要通过prop erty设置检查状态才能达到您想要的效果:
$("input:checkbox").click(function(){
var group = "input:checkbox[name='"+$(this).attr("name")+"']";
$(group).prop("checked", false);
$(this).prop("checked", true);
});
答案 1 :(得分:3)
你可以这样试试:
$('input[name=checkBoxName]').parents('span').addClass("checked");
$("input[name=checkBoxName]").prop('checked', 'checked');
第一行是在复选框中显示勾号,第二行是实际检查它。