选中复选框后,按类禁用输入

时间:2017-08-02 09:23:12

标签: javascript jquery html

所以我动态创建了共享同一个类的复选框:

<input type="checkbox" class="boxes" />
<input type="checkbox" class="boxes" />

还有一些共享相同类的下拉选项:

<select class = "needToDisable">
  <option value="volvo">Volvo</option>
</select>

由于这些是动态生成的,我采用这种方法检查选中复选框的长度是否为&gt; 0.如果是,请禁用所有下拉列表&#34; needToDisable&#34;

 $(".boxes").on('click',function(){
      if ($('.boxes:checked').length > 0) {
            $(".boxes").prop("disabled", true);
       } else {
         $(".boxes").prop("disabled", false);  
       }     
  });

我见过其他几个例子:

Using jquery to get all checked checkboxes with a certain class name

但它说&#34;点击&#34;没有定义,我不认为我可以这样使用。

1 个答案:

答案 0 :(得分:2)

首先,您需要使用'click'而不是click。其次,您的选择类是needToDisable,需要禁用而不是.boxes。以下是一个小型工作演示:

$(".boxes").on('click', function() {
  $(".needToDisable").prop("disabled", $('.boxes:checked').length);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" class="boxes" />
<input type="checkbox" class="boxes" />

<select class="needToDisable">
  <option value="volvo">Volvo</option>
</select>