1

2つのラジオボタンと2つの入力フィールドがあります。ラジオボタンを入力フィールドに関連付けたいので、選択したラジオボタンの入力フィールドのみが有効になり、その他は無効になります。

私のhtmlマークアップは次のとおりです。

<div>
    <input type="radio" checked="checked" name="co" data-for="s" />
    <input type="text" id="s" />
    <br /><br />

    <input type="radio" name="co" data-for="u"/>
    <input type="text" id="u" disabled="disabled" />
</div>

そのため、現在、最初のラジオボタンがチェックされ、その入力フィールドが有効になっています。少しのjqueryコードでこれを行うにはどうすればよいですか?

編集

私はこれを試しました:

$("input[type=radio][name=co]").bind({
  change: function () { 
    if ($(this).attr("checked") == "checked")
       $("#" + $(this).attr("data-for")).removeAttr("disabled"); 
    else 
       $("#" + $(this).attr("data-for")).attr("disabled", "disabled"); 
  } 
});
4

3 に答える 3

3

これを試してください-http://jsfiddle.net/DMasH/

$("input:radio").on("click", function() {
    $("input:text").attr("disabled", true);

    $(this).next("input").attr("disabled", false)
});
于 2012-06-21T17:28:14.357 に答える
0
$("input[type='radio']").click(function() {
    $("input[type='text']").attr("disabled", "disabled");
    if ($(this).next().attr("disabled") == "disabled") $(this).next().removeAttr("disabled");
    else $(this).next().attr("disabled", "disabled");
});

すべてのボックスを無効にしてから、次のボックスのみを有効にします。

http://jsfiddle.net/reygonzales/sJZD7/

于 2012-06-21T17:29:13.780 に答える
0

解決策-http://jsfiddle.net/4uQqE/2/

$('input[data-for]').change(function() {
target = $('#'+$(this).data('for'));
$('input[type="text"]').attr('disabled','disabled');
if($(this).is(":checked")) {
    target.removeAttr('disabled');
}});​
于 2012-06-21T17:30:35.307 に答える