选中的复选框属性为true,但不显示tick

got*_*tqn 9 html checkbox jquery

我有两个复选框,我想让它们像单选按钮一样(当时只检查其中一个).

所以,我很容易找到一个jQuery解决方案应该可以解决这个问题:

$("input:checkbox").click(function(){
    var group = "input:checkbox[name='"+$(this).attr("name")+"']";
    $(group).attr("checked",false);
    $(this).attr("checked",true);
});
Run Code Online (Sandbox Code Playgroud)

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>
Run Code Online (Sandbox Code Playgroud)

但是当我点击其中一个复选框时,即使其"check"属性设置为"checked",也不会显示勾号:

dsg*_*fin 23

您需要进行设置检查状态由它的道具 erty达到你想要的东西:

$("input:checkbox").click(function(){
    var group = "input:checkbox[name='"+$(this).attr("name")+"']";
    $(group).prop("checked", false);
    $(this).prop("checked", true);
});
Run Code Online (Sandbox Code Playgroud)

jsFiddle在这里.

  • @MohammadAreebSiddiqui阅读此http://stackoverflow.com/questions/5874652/prop-vs-attr (5认同)

Lal*_*hra 5

你可以这样试试:

$('input[name=checkBoxName]').parents('span').addClass("checked");
$("input[name=checkBoxName]").prop('checked', 'checked');
Run Code Online (Sandbox Code Playgroud)

第一行是在复选框中显示勾号,第二行是实际勾选它。