我的目标是......
选中该复选框后,将启用该按钮
未选中该复选框时,按钮被禁用。
默认值:复选框已停用
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<button type="button" id="agree" class="btn btn-primary">Let's Go!</button>
<label><input type="checkbox" id="checkbox" disabled value="">I agree.</label>
<script>
$(document).ready(function(){
if($('input:checkbox[id="checkbox"]').is(':checked') == true) {
$("#agree").attr("disabled",false);
}
else {
$("#agree").attr("disabled",true);
}
});
</script>
答案 0 :(得分:2)
首先,您要禁用输入。第二 - 你没有在听输入变化事件。
15306/799 - 1 = 1816%
&#13;
$(document).ready(function() {
$('#checkbox').change(function() {
$("#agree").prop("disabled", !$(this).is(':checked'));
});
});
&#13;
备注的
更改属性值不会更改属性属性。 Check here
不要过度杀戮选择器。 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<button type="button" id="agree" disabled="disabled" class="btn btn-primary">Let's Go!</button>
<label>
<input type="checkbox" id="checkbox" value="">I agree.</label>
比简单input:checkbox[id="checkbox"]
慢
始终尝试优化和缩小代码。
答案 1 :(得分:0)
尝试使用这样的,
$(document).ready(function(){
if($('input#checkbox').prop('checked') == true) {
$("#agree").prop("disabled",false);
}
else {
$("#agree").prop("disabled",true);
}
});
或者
$(document).ready(function(){
if($('input#checkbox').prop('checked') == 'checked') {
$("#agree").prop("disabled",false);
}
else {
$("#agree").prop("disabled",true);
}
});
答案 2 :(得分:0)
$(document).ready(function() {
$('input:checkbox#checkbox').change(function() {
console.log($(this).is(':checked'))
$("#agree").prop("disabled", !$(this).is(':checked'));
}).change();
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<button type="button" id="agree" class="btn btn-primary">Let's Go!</button>
<label>
<input type="checkbox" id="checkbox" value="">I agree.</label>
&#13;
像这样使用单行