如何使用一个标签选择具有不同名称的多个单选按钮?
这是我想要实现的一个简单例子......
<input id="1A" type="radio" name="first" value="A">firstA<br>
<input id="1B" type="radio" name="first" value="B">firstB<br>
<input id="2A" type="radio" name="second">secondA<br>
<input id="2B" type="radio" name="second">secondB<br>
<input id="3A" type="radio" name="third">thirdA<br>
<input id="3B" type="radio" name="third">thirdB<br>
<label for="1A">
<label for="2B">
<label for="3A">
<div>1A / 2B / 3A</div>
</label>
</label>
</label>
所以当我点击“1A / 2B / 3A”时,我想让它选择制作一个选择3个单选按钮(firstA,secondB,thirdA),任何想法?
答案 0 :(得分:1)
假设标签始终正确嵌套,click
事件将自然传播。您可以手动设置checked属性:
$("label").on('click', function () {
$("#" + $(this).attr('for')).prop('checked', true);
});
答案 1 :(得分:1)
<div id="divId">1A / 2B / 3A</div>
$('#divId').click(function () {
$('#1A').attr('checked', checked);
$('#2B').attr('checked', checked);
$('#3A').attr('checked', checked);
});
答案 2 :(得分:0)
给你的div一个id(唯一)
<div id="divID">1A / 2B / 3A</div>
调用点击功能
$('#divID').click(function(){
$('#1A').prop('checked',true);
$('#2B').prop('checked',true);
$('#3A').prop('checked',true);
});
答案 3 :(得分:0)
您可以覆盖label元素的默认行为,以将click事件传播到父元素。
function bubbleLabelClick(e){
$("#" + $(this).attr('for')).prop('checked', true);
return true;
}
$('label').click( bubbleLabelClick);
测试它:http://jsfiddle.net/phxjL/
关键点是函数bubbleLabelClick中的return true;
。