hide()ラジオボタン*および* jqueryのテキストラベル
-
22-07-2019 - |
質問
最近のプロジェクトでアクセシビリティの問題を整理し、すべてのフォーム要素にラベルが付いていることを確認しました。ラベルテキストをタグに挿入すると、以前に書いたいくつかの奇妙なコードで問題が発生しました。
基本的に、ラジオボタンとそのラベルがある場合:
<label for="zone_r1"><input type="radio" name="zone" id="zone_r1" value="NY" />New York</label>
そして、jqueryを使用して非表示にします:
$('#zone_r1').hide();
実際のボタンは非表示ですが、ラベルテキストは非表示です。もともと、ラベルテキストのスパンを作成し、そのように隠しました:
<input id="NY" type="radio" name="zone" value="NY" /><span id="nyTXT">New York</span>
and
$('#NY').hide();
$('#nyTXT').hide();
アイデアはありますか?私はクラッジを使用しない方が好きで、ラベルのスパンで検証されないかもしれませんが、多分私は過度に熱心です。
解決
$('#zone_r1').parent().hide();
私のために働く
他のヒント
これはあなたのために働くはずだと思います
$("label[for=zone_r1],#zone_r1").hide();
これにより、<!> quot; for <!> quot;のラベルが選択されます。探しているラジオボタンとラジオボタン自体に設定されている属性で、両方を非表示にします
はどうですか$('label:has(#zone_r1)').hide();
これを行うことができます:
1。)周囲のラベルなしでラジオボタン入力を定義します。
2。)<!> quot; option text <!> quot;をラップします。 (ラジオボタンの右側のテキスト)の<span>
。
3。)次のjQueryステートメントを使用します:$("input:radio:not(:checked), input:radio:not(:checked) + span").hide();
これにより、ラジオボタンとラジオボタンの右側のテキストが選択され、非表示になります。
値に基づいてラジオボタンコンテナまたはTDを非表示にする
jQuery(<!> quot; input [type = radio] [value = 'EU2'] <!> quot;)。parent()。hide();