0

これが私の問題です。div全体をクリックできるようにしたいのですが、クリックすると、divに含まれるラジオボタンをチェックする必要があるため、divはラジオ自体として機能します。これが私が使えると思ったものです。

$('#content').click(function(e) { $('input:radio[name="id_"]').prop('checked', true); });

しかし、これはdiv内の相対的なラジオを選択していません. thisセレクターを使用できると思いますよね?

4

6 に答える 6

4

あなたはコードを与えていないので、私は推測します:

デモ

CodePen で私のデモを見る

HTML

<div class="content">
  <input type="radio" name="foo">
</div>

<div class="content">
  <input type="radio" name="foo">
</div>

<div class="content">
  <input type="radio" name="foo">
</div>

CSS(例)

.content {
  float: left;
  width: 100px;
  padding-top: 100px;
  background-color: #eee;
  margin-left: 10px;
}

JS (Jクエリ)

$('.content').click(function(){
  $(this).find('input[type=radio]').prop('checked', true);
})
于 2013-02-07T11:52:48.883 に答える
3

thisはい、セレクターを使用できます。例を示すために簡単な jsfiddle を作成しました。

于 2013-02-07T11:48:34.897 に答える
2

これでうまくいくはずです。

$('input:radio[name*="id_"]'), assuming the name starts with id_

はい、使用できますthis。それを使用して、次のように子をフィルタリングします。

$(this).children('input:radio[name*=id_]').prop("checked", true)

キーは使用していますname*=id_

これは、名前が で始まる要素を選択することを意味しますid_。それはあなたが望んでいたものではありませんか?

于 2013-02-07T11:51:20.103 に答える
2
$('#content').click(function(){
$(this).children('radio').attr('checked','checked')
})
于 2013-02-07T11:52:21.433 に答える
1

Deifのソリューションに基づいて構築すると、divをクリックするとチェック済みのステータスが切り替わります

フィドル

<div id="content">
    Some content
    <input type="radio" id="radio1" value="test" />
</div>

<script type="text/javascript">
$('#content').click(function () {    
   var val =  $(this).find('input:radio').prop('checked')?false:true;
   $(this).find('input:radio').prop('checked', val);
});
</script>
于 2013-02-07T12:00:14.673 に答える
1

これを試してください:

$('div').click(function(){
     if( $('div').find('input:checkbox').prop("checked") == true){
         $('div').find('input:checkbox').prop("checked", false);
     }
     else{
         $('div').find('input:checkbox').prop("checked", true);
     }
});

ライブデモ

于 2013-02-07T11:55:13.970 に答える