我正在尝试返回复选框的值以启用和禁用按钮。 使复选框不是问题,问题是复选框值始终返回。我应该如何获得一个值,表明是否选中了复选框?
HTML:
<form>
<input type="checkbox" id="checkbox" /> <label>Do you agree </label><br />
<input type="button" value="Continue" id="button" disabled="disabled" />
</form>
Javascript:
$('#checkbox').change(function(){
var checkboxValue = $(this).val();
alert(checkboxValue);
});
答案 0 :(得分:39)
尝试使用prop('已检查');
var checkboxValue = $(this).prop('checked');
答案 1 :(得分:7)
您似乎需要checked
var checkboxValue = this.checked;
答案 2 :(得分:2)
这里有几件事情正在进行中
试试这个
$('#checkBox').prop('checked');
如果检查过你应该返回true,如果未检查则为false。
答案 3 :(得分:1)
尝试使用(如果你使用的是jQuery 1.6 +):
var checkboxValue = $(this).prop('checked');
这应该正确返回true
或false
。
答案 4 :(得分:0)
或者如何使用:checked
Selector?
$(this).is(':checked') // returns true if checked and false otherwise
答案 5 :(得分:0)
尝试使用 is(':checked')而不是 .val
$('#checkbox').change(function(){
var checkboxValue = $(this).is(':checked');
alert(checkboxValue);
});
返回true或false
答案 6 :(得分:0)
根据@ gdoron的回答,这是一个执行此操作的代码,没有jquery。
document.getElementById("checkbox").addEventListener("change", function() {
if (this.checked) {
//Whatever u want to do if checked
}
else {
//Whatever u want to do if not checked
}
})
尝试选中/取消选中以下代码段中的复选框,以查看此操作...
document.getElementById("checkbox").addEventListener("change", function() {
if (this.checked) {
//Whatever u want to do if checked
alert("u check");
}
else {
//Whatever u want to do if not checked
alert("u uncheck");
}
})
&#13;
<input type="checkbox" id="checkbox" />Coconuts?
&#13;