启用和禁用所有子元素
Enabling and disabling all the child elements
如果字段的其他部分有特定值,我会启用和禁用字段的部分。考虑html代码的jsfiddle
条件是
- 如果
partA
的所有字段都选择为No
,则启用partB
- 如果
partB
的所有字段都选择为No
,则启用partC
尝试1
首先我尝试禁用PartB和PartC的元素,但这些元素不起作用。
$(function () {
$('.group').attr('name','partB').find('input').attr('disable', true);
$('.group').attr('name','partC').find('input').attr('disable', true);
});
我不确定如何确保group
分区中的所有子元素都选择为No
。
jsBin演示
拥有这个HTML:
<div class="group" id="partA">
<span> PART A</span><br/>
Option 1
<input type="radio" name="optionsRadios1" value="option1"/>Yes
<input type="radio" name="optionsRadios1" value="option2"/>No
<br />
Option 2
<input type="radio" name="optionsRadios2" value="option1"/>Yes
<input type="radio" name="optionsRadios2" value="option2"/>No
</div>
jQ:
$(function () {
$('#partB, #partC').find('input').prop('disabled', true);
function testChecked(){
var $par = $(this).closest('.group');
var $rad2 = $par.find('[value="option2"]');
var allNo = $rad2.filter(':checked').length == $rad2.length;
$par.next('.group').find(':radio').prop('disabled', !allNo);
if(!allNo){
$par.nextAll('.group').find(':radio').prop({'disabled':true, 'checked':false});
}
}
$('.group :radio').change(testChecked);
});
每个.group
也适用于2个以上的无线电组
您的错误:
"disable", "true"
应为"disabled", "true"
<label>
只能控制一个内部元素(所以我删除了它。)<div>
afaik不应该有name
属性(所以我分配了一个ID
)
相关文章:
- Rails-带有单选按钮的表单,带有启用/禁用附加元素的javascript操作
- 命名一个在“”和“”之间切换元素的函数;启用”;以及“;被禁用”;州
- 启用具有不同元素的复选框
- 仅对特定的html元素启用幻灯片放映
- 如何使用复选框启用多个元素
- 在检查单选按钮检查状态后启用/禁用表单元素
- Fetch元素鼠标当前指向的Chrome开发工具已启用
- 如何在启用mCustomScrollbar时将元素拖动到外部
- 启用和禁用所有子元素
- Div元素并没有引导点击以启用拖动功能
- 仅为特定 html 元素启用刷新
- 使用 jquery/javascript 从 iFrame 启用/禁用父元素的 HTML 超链接(对于给定的结构)
- 在选择元素中选择第一个启用的选项
- 如何使用Javascript/jQuery隐藏/显示启用/禁用HTML元素
- jQuery 性能问题,通过为新元素启用拖放
- 复选框启用 Onload 以显示其他元素
- 仅对视口中的元素启用Ajax Rest调用
- 使用zurbfoundation基于表单的其他元素启用/禁用提交按钮
- 与disableSelection功能相反,后者用于为特定HTML元素启用文本选择
- jQuery -如何在元素启用时触发一个函数