jQuery复选框选择判断

时间:2016-10-28 08:41:00

标签: jquery html

我的目标是...... 选中该复选框后,将启用该按钮 未选中该复选框时,按钮被禁用。

默认值:复选框已停用

<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>

3 个答案:

答案 0 :(得分:2)

首先,您要禁用输入。第二 - 你没有在听输入变化事件。

&#13;
&#13;
15306/799 - 1 = 1816%
&#13;
$(document).ready(function() {
  $('#checkbox').change(function() {
    $("#agree").prop("disabled", !$(this).is(':checked'));
  });
});
&#13;
&#13;
&#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)

&#13;
&#13;
$(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;
&#13;
&#13;

像这样使用单行