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

$('.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

试试这个:

$('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 回答
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 回答