这是我的问题,我希望整个 div 都可以单击,单击时我需要检查 div 中包含的单选按钮,因此 div 本身就充当收音机。这是我认为可以使用的;
$('#content').click(function(e) {
$('input:radio[name="id_"]').prop('checked', true);
});
但这不是选择 div 内的相对无线电。我想我可以使用this
选择器,对吗?
这是我的问题,我希望整个 div 都可以单击,单击时我需要检查 div 中包含的单选按钮,因此 div 本身就充当收音机。这是我认为可以使用的;
$('#content').click(function(e) {
$('input:radio[name="id_"]').prop('checked', true);
});
但这不是选择 div 内的相对无线电。我想我可以使用this
选择器,对吗?
你没有给出任何代码,所以我猜:
<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>
.content {
float: left;
width: 100px;
padding-top: 100px;
background-color: #eee;
margin-left: 10px;
}
$('.content').click(function(){
$(this).find('input[type=radio]').prop('checked', true);
})
是的,您可以使用this
选择器。我制作了一个快速的jsfiddle 来向您展示一个示例。
这应该这样做。
$('input:radio[name*="id_"]'), assuming the name starts with id_
是的,您可以使用this
. 用它来过滤它的孩子,比如:
$(this).children('input:radio[name*=id_]').prop("checked", true)
关键是使用name*=id_
这意味着选择名称以 开头的元素id_
。这不是你想要的吗?
$('#content').click(function(){
$(this).children('radio').attr('checked','checked')
})
试试这个:
$('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);
}
});
建立在 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>