質問

最近のプロジェクトでアクセシビリティの問題を整理し、すべてのフォーム要素にラベルが付いていることを確認しました。ラベルテキストをタグに挿入すると、以前に書いたいくつかの奇妙なコードで問題が発生しました。

基本的に、ラジオボタンとそのラベルがある場合:

<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();

最初のラジオボタンでは、実際のボタンを非表示にしてから、を非表示にできます。

$('#zone_r1').hide().parent().hide();

2番目の場合、ボタンと<!> quot; を非表示にすることができます<!> quot;兄弟:

$('#NY').hide().next().hide();

これを行うことができます:

1。)周囲のラベルなしでラジオボタン入力を定義します。

2。)<!> quot; option text <!> quot;をラップします。 (ラジオボタンの右側のテキスト)の<span>

3。)次のjQueryステートメントを使用します:$("input:radio:not(:checked), input:radio:not(:checked) + span").hide();

これにより、ラジオボタンとラジオボタンの右側のテキストが選択され、非表示になります。

親に 'label'セレクターを配置するだけです:

$(':radio[id=zone_r1]').parent('label').hide();

jsFiddleの例

を参照してください。

値に基づいてラジオボタンコンテナまたはTDを非表示にする

jQuery(<!> quot; input [type = radio] [value = 'EU2'] <!> quot;)。parent()。hide();

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top