我想获得控制文本框的帮助,启用/禁用,具体取决于所选的单选按钮 - jQuery会更好。
如果选择了一个单选按钮,将启用相关的文本框 - 其他文本框将被禁用。所有场景都是一样的。将预先选择一个单选按钮。
这是我的标记:
<div> <h1>Control fields</h1> <div id="Div1"> <div id="first"> <input type="radio" name="radio" id="radio3" checked="checked" />First</br> <input type="text" id="txt_one" /></br> <input type="text" id="txt_two" /></br> </div> <div id="second"> <input type="radio" name="radio" id="radio4" />Second</br> <input type="text" id="three" /></br> <input type="text" id="txt_four" /></br> </div> <div id="third"> <input type="radio" name="radio" id="radio5" checked="checked" />First</br> <input type="text" id="txt_five" /></br> <input type="text" id="txt_six" /></br> <input type="text" id="txt_seven" /></br> </div> </div> </div>
以下链接指向:http://jsfiddle.net/9CDcH/1/
答案 0 :(得分:1)
我想我可能有你想要的东西。这是jQuery:
$('.RadioExample').not('.First').siblings().prop('disabled',true);
$('.RadioExample').on('click',function(){
$('.RadioExample')
.siblings()
.prop('disabled',true);
$(this)
.siblings()
.prop('disabled',false);
});
为此,您需要为每个广播添加一个类RadioExample
,并为第一个单选按钮添加First
。这会在页面加载后的第一个(默认情况下已选中)之后禁用单选按钮的所有兄弟节点,然后在每次单击时重新启用所有兄弟节点并启用单击的兄弟节点。
有几种方法可以做到这一点(另一种方法是添加或删除类),但这是首先想到的。
答案 1 :(得分:1)
没有必要使用自定义类,你的实际标记就可以了,所以,试一试:
$(document).ready(function() {
$('input:radio').change(function() {
$("#content").find("input:text").attr("disabled",true);
if($(this).is(":checked"))
$(this).parent().find("input:text").attr("disabled",false);
});
});
当收音机发生变化时,该功能将更新输入,因此所有功能都将被禁用,如果实际的收音机被检查,它将启用同一容器中的所有输入。
看看你的jsfiddle: http://jsfiddle.net/hyunkeln/9CDcH/3/