默认情况下,jquery禁用复选框

时间:2016-11-10 07:37:06

标签: javascript jquery html

我当前的脚本是在禁用和启用之间切换。

<script>
    $("#filter").attr('checked', !$("#mylist")[0].disabled);
    $("#filter").click(function() {
        $("#mylist").attr('disabled', !this.checked)
    });
</script>

我的HTML代码是:

<div>
    <div class="checkbox">
        <input type="checkbox" checked="checked" id="filter" />
        <label for="filter">Types</label>
        <br>
    </div>
    <select class="selectpicker" id="mylist" multiple>
        <option>A</option>
        <option>B</option>
        <option>C</option>
    </select>
</div>

默认选中复选框,当我删除`checked =&#34; checked&#34;它根本不起作用。
如何在默认情况下禁用此功能,之后仅启用/禁用它?

4 个答案:

答案 0 :(得分:1)

试试这个:

HTML:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
    <div class="checkbox">
        <input type="checkbox" id="filter" />
        <label for="filter">Types</label>
        <br>
    </div>
    <select class="selectpicker" id="mylist" multiple>
        <option>A</option>
        <option>B</option>
        <option>C</option>
    </select>
</div>

JS:

if($("#filter").attr('checked')){
    $("#mylist").prop('disabled', false);
} else {
    $("#mylist").prop('disabled', true);
}
$("#filter").click(function() {
    $("#mylist").prop('disabled', !this.checked)
});

答案 1 :(得分:1)

您需要这样吗。如果uncheck = disablecheck=enable。默认情况下,uncheckeddisable。更改为默认checked,也启用< / p>

&#13;
&#13;
$(document).ready(function (){
    $("#filter").attr('checked', false);
    if(!$("#filter").attr('checked')){
        $("#mylist").attr('disabled',"true");
    }
    $("#filter").click(function() {
        $("#mylist").attr('disabled', !this.checked);
    });
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
  <div class="checkbox">
    <input type="checkbox"  id="filter" />
    <label for="filter">Types</label>
    <br>
  </div>
  <select class="selectpicker" id="mylist" multiple>
    <option>A</option>
    <option>B</option>
    <option>C</option>
  </select>
</div>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

请参阅编辑

&#13;
&#13;
$("#filter").prop('checked', false);
$("#filter").click(function() {
  $("#mylist").prop('checked', true);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
  <div class="checkbox">
    <input type="checkbox" checked="checked" id="filter" />
    <label for="filter">Types</label>
    <br>
  </div>
  <select class="selectpicker" id="mylist" multiple>
    <option>A</option>
    <option>B</option>
    <option>C</option>
  </select>
</div>
&#13;
&#13;
&#13;

答案 3 :(得分:0)

使用html代码禁用选择框。无需使用javascript禁用它。 所以删除此代码

$("#filter").attr('checked', !$("#mylist")[0].disabled);

来自你的脚本,它就像这样的HTML

<select class="selectpicker" id="mylist" multiple disabled>

然后使用您现有的代码

$("#filter").click(function() {
    $("#mylist").attr('disabled', !this.checked)
});

这将为您启用禁用的selectbox和unchecked复选框。