我试图仅在用户选中复选框时才允许启用表单中的提交按钮。我已经启动禁用按钮,然后在最初单击复选框时启用该按钮,但如果我取消选中该复选框,则该按钮不会重新启用。
HTML:
<input type="checkbox" id="waivercheck">
<input class="submit join-button" type="submit" value="Join Now" id="joinevent" disabled>
脚本:
$(document).ready(function() {
$('#waivercheck').click(function(){
if($(this).checked){
$('#joinevent').prop("disabled",false);
} else {
$('#joinevent').prop("disabled",true);
}
});
});
有人可以帮忙吗?
答案 0 :(得分:2)
您可以通过this.checked
访问复选框状态,而不是$(this).checked
。我建议使用change
事件。
$(document).ready(function() {
$('#waivercheck').change(function(){
if(this.checked){
$('#joinevent').prop("disabled",false);
} else {
$('#joinevent').prop("disabled",true);
}
});
});
答案 1 :(得分:0)
您的问题在于条件。
jQuery对象没有checked
属性,但DOM元素本身没有
而不是
if($(this).checked)
可以做到
// native element has checked property
if(this.checked)
或者
// jQuery is() with pseudo selector
if($(this).is(':checked'))
答案 2 :(得分:0)
您无需使用$(this).checked
。而是尝试使用this.checked
。请参阅here。