如何使用jQuery设置单选按钮的预设?
以下是一个简单示例:http://jsfiddle.net/EpQgr/
<select>
<option>option 1</option>
<option>option 2</option>
</select>
<div>
<input id="radio1_0_0" type="radio" name="radio1" value="1" />x
<input id="radio1_0_1" type="radio" name="radio1" value="2" />y
<input id="radio1_0_2" type="radio" name="radio1" value="3" />z
</div>
<div>
<input id="radio2_0_0" type="radio" name="radio2" value="1" />x
<input id="radio2_0_1" type="radio" name="radio2" value="2" />y
<input id="radio2_0_2" type="radio" name="radio2" value="3" />z
</div>
预设选项应该是这样的:
//option 1
$("#radio1_0_1, #radio2_0_2").prop("checked",true);
//option 2
$("div input:first-child").prop("checked",true);
答案 0 :(得分:1)
以这种方式更改您的HTML代码:
<select>
<option value="">Choose a preset</option>
<option value="#radio1_0_1, #radio2_0_2">option 1</option>
<option value="#radio1_0_0, #radio2_0_0">option 2</option>
</select>
和JS
$('select').on('change', function() {
var v = $(this).val();
if ($(v).length) {
$(v).prop("checked", true);
}
});
要检查的元素存储在每个选项的value
属性中
此解决方案避免了必须在select的处理程序内输入每个预设。如果您需要插入新的预设,只需添加带有新选择器的选项
见jsfiddle:http://jsfiddle.net/8f7Nw/2/
答案 1 :(得分:0)
您可能希望使用下拉列表选择广播选项
试试这个:
$("select").bind("change", function() {
// un select all
$("input[type=radio]").prop("checked",false);
if($(this).val() === "option 1") {
//option 1
$("#radio1_0_1, #radio2_0_2").prop("checked",true);
}
if($(this).val() === "option 2") {
//option 2
$("div input:first-child").prop("checked",true);
}
});