0

ラジオボタンのグループがいくつかあるフォームがあります。ラジオボタンを選択すると、そのボタンtextに対するフィールドが有効になり、残りは無効になります。フィールドを有効にできません。私はすでにほぼすべての関数(next、nextAll、nextUnit、find、findAll、closest ...)を試しましたが、おそらくそれらを適切に使用していません。

これは、ボタンのグループが1つだけのテストです:http://jsfiddle.net/QTseK/

また、ページの読み込み時に、いくつかのラジオボタンがすでにチェックされており、残りの(チェックされていないフィールド)を無効にするために何を実行する必要がありますか?

ありがとう

4

2 に答える 2

1

要素にはクラス属性があるため、クラスセレクターを使用してそれらを選択できます。フォーム要素を有効/無効にするには、propメソッドを使用できます。

$("body").on("click", "input[type='radio']", function() {
    $('.fieldSelector').prop('disabled', true);
    $(this).closest('tr').find('.fieldSelector').prop('disabled', false)
});

http://jsfiddle.net/AfRdj/

于 2012-10-28T01:48:30.163 に答える
0

jsFiddle

$("body").on("click", "input[type=radio]", function() {
   $(this).closest("table").find("input[type=text]").prop("disabled", true);
    $(this).closest("tr").find("input[type=text]").prop("disabled", false);

});​

HTMLに基づいてセレクターを追加/変更できます。

また、イベントリスナーを本体に配置するかどうかもわかりません。ページのライフサイクル全体で要素がDOMにある場合は、このようなものが望ましいと思います。(最初はページ上の問題の要素ですか?)

$("input[type=radio]").on("click", function() {//you can change input[type=radio] to any other selector that you have already used
   $(this).closest("table").find("input[type=text]").prop("disabled", true);
    $(this).closest("tr").find("input[type=text]").prop("disabled", false);

});​
于 2012-10-28T01:51:05.857 に答える