javascript - 通过使用 jquery 检查单选按钮启用复选框

标签 javascript jquery

如何使用 jquery 通过选中单选按钮来启用所有复选框? 基本上,如果选中电子邮件,则所有复选框都可以保持禁用状态,如果选中电话,则应启用所有复选框。

$("input:radio[value=Phone]").on("change", function() {
  $("#chekbox").find("input").prop("enabled", !$("input:radio[value=Email]").prop('checked'));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="radio">
  <label>Preferred Contact Method: </label>
  <label class="radio-inline ml-5 "><input type="radio" value="Phone" name="pref"> Phone </label>
  <label class="radio-inline"><input type="radio" value="Email" name="pref"> Email </label>
</div>


  <label>If phone is checked can we contact you? </label>
  <div class="checkbox">
    <label class="checkbox-inline  ml-1"><input type="checkbox" name="prefchk[]" value="morning" disabled> Morning</label>
    <label class="checkbox-inline  ml-1"><input type="checkbox" name="prefchk[]" value="afternoon" disabled> Afternoon</label>
    <label class="checkbox-inline  ml-1"><input type="checkbox" name="prefchk[]" value="evening" disabled> Evening</label>
  </div>

最佳答案

您需要使用 .attr()为此,因为 disable 是属性而不是属性

工作片段:-

$("input[name=pref]").on("change", function() {
  $("input[type=checkbox]").attr("disabled", $(this).val()=='Email');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="radio">
  <label>Preferred Contact Method: </label>
  <label class="radio-inline ml-5 "><input type="radio" value="Phone" name="pref"> Phone </label>
  <label class="radio-inline"><input type="radio" value="Email" name="pref"> Email </label>


  <label>If phone is checked can we contact you? </label>
  <div class="checkbox">
    <label class="checkbox-inline  ml-1"><input type="checkbox" name="prefchk[]" value="morning" disabled> Morning</label>
    <label class="checkbox-inline  ml-1"><input type="checkbox" name="prefchk[]" value="afternoon" disabled> Afternoon</label>
    <label class="checkbox-inline  ml-1"><input type="checkbox" name="prefchk[]" value="evening" disabled> Evening</label>
  </div>
</div>

注意:- 我添加了代码,例如如果单击电话单选按钮,复选框将启用,如果单击电子邮件单选按钮,则复选框将被禁用.

关于javascript - 通过使用 jquery 检查单选按钮启用复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52418518/

相关文章:

javascript - 使用 pg-promise 进行多行插入

javascript - inArray 或 indexof 都不能在日期数组中查找值

javascript - Angular 2+ 基于点击在元素之间切换

javascript - 如何编译或检查 Node.js 应用程序中的语法错误

javascript - 同时停止 2 个间隔 + 使其增量

jquery - 如何查看哪些对象与 DOM 元素关联

javascript - 代码只适用于 IE9 标准,有什么降级的方法吗?

php - 关于AJAX安全问题请咨询

javascript - 使用 Plot 的线图重叠

javascript - 级联下拉列表,将 <option> 值作为 ID 传递