0

チェックボックスが置かれている ap タグを非表示にするにはどうすればよいですか?

<p><input type="checkbox" name="qID5[]" class="required" value="232" id="checkbox"  /> - Answered NO to question 4 </p>

条件に応じてチェックボックス自体を非表示にするjqueryを次に示しますが、実際にはp全体を非表示にしたい. チェックボックスだけでなく、pとその中のすべてを非表示にするには、以下のjQueryで何を変更すればよいですか?

if(value == 184){
var $radios = $('input:checkbox[name=qID5[]]');
$radios.filter('[value=232]').attr('checked', true);
$radios.filter('[value=232]').show();
}else{
var $radios = $('input:checkbox[name=qID5[]]');
$radios.filter('[value=232]').attr('checked', false);
$radios.filter('[value=232]').hide();
}}
4

3 に答える 3

1

.parent囲み<p>タグを取得するために使用します。下記参照。

if(value == 184){
   var $radios = $('input:checkbox[name=qID5[]]');
   $radios.filter('[value=232]').attr('checked', true);
   $radios.filter('[value=232]').parent().show();
}else{
   var $radios = $('input:checkbox[name=qID5[]]');
   $radios.filter('[value=232]').attr('checked', false);
   $radios.filter('[value=232]').parent().hide();
}
于 2012-10-03T18:01:44.557 に答える
1

ステートメントvalue == 184は true または false に評価されるため、同じコードを 2 回記述して発火時間をフィルタリングする代わりに、ステートメントを直接使用して true/false を設定できます。

var $radios = $('input[type="checkbox"][name="qID5[]"][value=232]');
$radios.prop('checked', (value == 184)).closest('p').toggle(value == 184);

また、括弧は疑似セレクターよりも好ましくprop、チェック済み状態を設定する正しい方法です。

于 2012-10-03T18:05:18.473 に答える
0

最も近い p 要素 (この場合は直接の親) を検索する closest('p') セレクターを使用できます。

$(this).closest('p').hide();

または

$radios.filter('[value=232]').closest('p').hide(); // To Hide

$radios.filter('[value=232]').closest('p').show(); // To Show

また

$radios.filter('[value=232]').parent('p').hide(); // To Hide

$radios.filter('[value=232]').parent('p').show(); // To Show
于 2012-10-03T18:01:35.177 に答える