jQuery - 选项按钮重置取消
问题描述:
我有一个复选框,指示用户想要吃晚饭。在这个复选框下面有几个单选按钮,用户可以从中选择他/她的晚餐选项。我正在寻找两件事情发生...jQuery - 选项按钮重置取消
1)每当用户“检查”,他们想吃晚餐我有一个默认的晚餐选择选项选择。当用户“不检查”晚餐选项时,我希望所有晚餐选择都不被选中。所有这些工作正常,直到我尝试并添加一个额外的jQuery选项。
2)如果用户选择晚餐选项,我希望显示用户想要检查晚餐的复选框。这最后一个选项似乎否定了第一个选项。
我创建了位于这里jsfiddle.net例子... http://jsfiddle.net/ScEw2/1/
我也贴在这里例如代码...
HTML
<p><input type="checkbox" id="IsHavingDinner" name="Dinner" /> Do you want dinner?</p>
<hr />
<input type="radio" id="DinnerChoiceChicken" name="DinnerChoice" value="Chicken"> Chicken<br/>
<input type="radio" id="DinnerChoiceFish" name="DinnerChoice" value="Fish"> Fish<br/>
<input type="radio" id="DinnerChoiceSteak" name="DinnerChoice" value="Steak"> Steak<br/>
<input type="radio" id="DinnerChoiceVegan" name="DinnerChoice" value="Vegan"> Vegan<br/>
的jQuery代码
// Select default dinner option otherwise deselect all options
$('#IsHavingDinner').click(function(event) {
if ($('#IsHavingDinner').attr('checked')) {
// Select Dinner Choice Chicken by default
$('#DinnerChoiceChicken').attr('checked', 'checked');
} else {
// Deselect all Dinner Choices
$('input[name="DinnerChoice"]').attr('checked', false);
}
})
// If a dinner choice is selected, make sure the checkbox
// indicating they want dinner is selected
$('[name="DinnerChoice"]').click(function(event) {
$('#IsHavingDinner').attr('checked', 'checked');
})
如果用户取消选择晚餐,我无法确定为什么不选择晚餐选项。一个事件是否取消了另一个事件?有什么想法吗?
答
// Select default dinner option otherwise deselect all options
// Listen for a change event on the having dinner checkbox
$('#IsHavingDinner').change(function(){
if($(this).is(':checked')){ // if checked
$('#DinnerChoiceChicken').prop('checked', true); // check a default dinner choice
} else {
$('input[name="DinnerChoice"]').prop('checked', false); // otherwise, uncheck all
}
});
// If a dinner choice is selected, make sure the checkbox
// indicating they want dinner is selected
$('input[name="DinnerChoice"]').change(function(){
if($(this).is(':checked')){ // if checked
$('#IsHavingDinner').prop('checked', true); // check having dinner
}
});
+0
首先发布Shef的答案。不过,@ rfausak的回答也很棒。 – webworm
寻找[像这样的东西](http://jsfiddle.net/Shef/4Vf49/)? – Shef
准确!感谢Shef!有没有办法给你信用? – webworm
太好了,我把它作为答案发布。 – Shef