これを行う「簡単な」方法は知っていますが、不動産会社のフォームウィジェットを使用しています.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');
}
});