-2

我想获得控制文本框的帮助,启用/禁用,具体取决于所选的单选按钮 - 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/

4

2 回答 2

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第一个单选按钮添加一个类。这会在页面加载时禁用第一个单选按钮(默认选中)之后的所有同级单选按钮,然后在每次单击时重新禁用所有单选按钮并启用所单击单选按钮的同级。

我也更新了你的 jsFiddle

有几种方法可以做到这一点(另一种方法是添加或删除类),但这是首先想到的。

于 2013-04-17T22:23:41.907 回答
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/

于 2013-04-17T22:27:29.453 回答