0

これを行う「簡単な」方法は知っていますが、不動産会社のフォームウィジェットを使用しています.APIアクセスがないため、UX機能を提供するためにjQueryの「魔法」を試して実行する必要があります.命に。

ウィジェットには、チェック ボックス、ラジオ ボタン、選択フィールド、入力フィールドに加えて、ラベルが含まれています。

これらを結び付ける唯一のことは、ラベルを含む「frmLabel」のクラスを持つ別の div が含まれている div 内に「frmRow」のクラスを持つ div 内にすべて自己完結していることです。「frmInput」のクラスを持つ 2 番目の div もあります。基本的に、この '.frmRow' でオプションが選択されていることを識別する必要があるため、ネストされた '.frmLabel' div の色を変更します。

厳密なクラス名を使用してそれを実行できますが、コードの巨大な if/else ブロックを作成する必要があるすべてのフォーム オプションに適用されるように、もう少し一般的な名前にする必要があります。

どんなアイデアでも大歓迎です

役立つ場合は、html のスニペットを次に示します。

<form id="form">

<div class="frmRow">

    <div class="frmLabel">Label</div>

   <div class="frmInput">Radio, Select, Checkbox or Text Input </div>

</div>

</form>

ありがとうティム、

それは(一種の)機能していますが、すべての要素のラベルの色を変更しています。jQuery は初めてなので、parent() の仕組みを理解していない可能性があります。.frmInput の親は .frmRow になると思いますが、フォームの含まれている div を親と見なしているようです。とにかく、探している親を指定できますか? これがコードです。

$('#homefinderform').click(function() {

    if($('.frmInput input').is(':checked')) { 

            $(this).parent().addClass('frmLabelChecked');

    }

});
4

1 に答える 1

1

これは 2 でちょっとずさん.parent()ですが、HTML 自体を変更できない場合は、取得できるものを取得する必要があります。これにより、これを機能させる方法について有利なスタートを切ることができます。

http://jsfiddle.net/4GEXq/

于 2013-05-31T20:13:37.670 に答える