jquery - 我有一个带有多个复选框和选择选项的表单。如果单击复选框,我想启用选择选项
问题描述
我有一个包含多个字段的表单。每个字段都有一个选择选项和复选框。我想在单击复选框时启用选择选项。问题是,当我单击复选框时,所有禁用的选择选项都会启用。
$("input:checkbox").click(function() {
if ($(this).is(":checked") === true) {
var group = "input:checkbox[name='" + $(this).attr("name") + "']";
$(group).attr("checked", false);
$(this).attr("checked", true);
} else {
$(this).is(":checked", false);
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
<input type="checkbox" class="radio" value="1" name="fooby[1][]" />
<input type="checkbox" class="radio" value="1" name="fooby[1][]" />
<input type="checkbox" class="radio" value="1" name="fooby[1][]" />
<p> </p>
<input type="checkbox" class="radio" value="1" name="fooby[2][]" />
<input type="checkbox" class="radio" value="1" name="fooby[2][]" />
<input type="checkbox" class="radio" value="1" name="fooby[2][]" />
解决方案
假设您的 html 如下所示:
<div>
<input type="checkbox" class="radio" value="1" name="fooby[1][]" />
<select disabled="true">
<option>foo</option>
<option>bar</option>
</select>
</div>
<div>
<input type="checkbox" class="radio" value="1" name="fooby[1][]" />
<select disabled="true">
<option>foo</option>
<option>bar</option>
</select>
</div>
<div>
<input type="checkbox" class="radio" value="1" name="fooby[1][]" />
<select disabled="true">
<option>foo</option>
<option>bar</option>
</select>
</div>
以下代码将启用与复选框分组的选择:
$("input:checkbox").click(function() {
var checkbox = $(this);
if (checkbox.is(":checked") === true) {
checkbox.parent().find("select").prop("disabled", false);
} else {
checkbox.parent().find("select").prop("disabled", true);
}
});
请注意,可能有更好的方法来查找选择字段(如相应的 id),但这应该让您了解如何去做。
推荐阅读
- python - 是否可以在 python tkcalendar 的日期中嵌入自定义文本
- php - WordPress 视频短代码在我的 src 选项末尾添加了“?_=2”
- mongodb - MongoDB Mongoose - 通过从另一个集合/文档镜像字段来提高性能
- python - 任何类似于 Python Request.session() 但在 Node.js 上的东西
- angular - 具有方法和属性 Angular 9 的 Jasmine 模拟提供程序
- python - 无法通过使用 python 对发件人应用过滤器来阅读 Outlook 邮件
- excel - 使用带有动态内容的 XMLHTTP 请求抓取货物编号跟踪状态
- php - 使用 AlexaCRM php-crm-toolkit 在 Dynamics 365 中使用 php 创建电子邮件
- python - 如何将二进制文件输出打印为 Base 2(以位为单位)?
- devise - 在 rails 的设备系统中再次发送电子邮件