我有一个带复选框的表单,我希望在提交表单后返回同一视图并出现错误时对其进行检查。我听说value属性可以帮助我选中复选框,所以我试着把它设置为true / false。无论如何,即使我点击它,输入值也会保持“假”。究竟发生了什么? 单击复选框
后,我认为值为true / false<input type="checkbox" name="acceptRules" class="inline checkbox" id="checkbox1" value="false">
<script>
$("#checkbox1").is(':checked', function(){
$("#checkbox1").attr('value', 'true');
});
</script>
答案 0 :(得分:20)
如果我理解了这个问题,您需要更改复选框的值,具体取决于是否选中。
这是一个解决方案:
$('#checkbox-value').text($('#checkbox1').val());
$("#checkbox1").on('change', function() {
if ($(this).is(':checked')) {
$(this).attr('value', 'true');
} else {
$(this).attr('value', 'false');
}
$('#checkbox-value').text($('#checkbox1').val());
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<input type="checkbox" name="acceptRules" class="inline checkbox" id="checkbox1" value="false">
<div id="checkbox-value"></div>
&#13;
答案 1 :(得分:5)
使用Checked = true
$("#checkbox1").prop('checked', true);
注意:我不清楚是否要在复选框上onclick / onchange事件。问题is(":checked", function(){})
是错误的。
答案 2 :(得分:3)
要根据是否选中复选框返回true或false,请在JQuery中使用它
let checkState = $("#checkboxId").is(":checked") ? "true" : "false";
答案 3 :(得分:2)
试试这个
$("#checkbox1").is(':checked', function(){
$("#checkbox1").prop('checked', true);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" name="acceptRules" class="inline checkbox" id="checkbox1" value="false">
&#13;
答案 4 :(得分:1)
JS中的复选框可能非常奇怪。您最好检查是否存在checked
属性。 (即使checked
设置为“错误”,我的旧版jQuery版本也会返回true。)一旦确定已检查某些内容,您就可以从中获取value
属性。
答案 5 :(得分:1)
jQuery.is()
函数没有.is('selector', function)
的签名。
我想你想做这样的事情:
if($("#checkbox1").is(':checked')){
$("#checkbox1").attr('value', 'true');
}
答案 6 :(得分:1)
我将根据以下假设发布此答案。
1) You (un)selected the checkbox on the first page and submitted the form.
2) Your building the second form and you setting the value="" true/false depending on if the previous one was checked.
3) You want the checkbox to reflect if it was checked or not before.
如果是这种情况,那么您可以执行以下操作:
var $checkbox1 = $('#checkbox1');
$checkbox1.prop('checked', $checkbox1.val() === 'true');