我有一个表格,在不同的组中有多个单选按钮。例如 类别车辆有两个单选按钮
与其他类别相同,有2-2个单选按钮。
我想要做的是当我从2轮车检查4轮车时,我会弹出一条警告信息,你确定要切换,如果是,那么确定,但是不,我想再次检查2轮车单选按钮。我不能从id做到这一点因为我必须在其他领域这样做。
<input type="radio"/>
答案 0 :(得分:0)
你的问题不是很清楚,但根据我的理解,我想你想要:
$(document).ready(function(){
$('#submit_button').click(function() {
if (!$("input[@name='radioName']:checked").val()) {
alert('Nothing is checked!');
return false;
}
else {
alert('One of the radio buttons is checked!');
}
});
});
为所有无线电输入添加相同的名称标签:
<input type="radio" name="radioName"/>
答案 1 :(得分:0)
这可能是你想要实现的目标:
var old_input = $('input[name="wheeler"]:checked');
$('input[name="wheeler"]').change(function(e) {
console.log(e);
if (
old_input.next().text() == '2 Wheeler' &&
$(this).next().text() == '4 Wheeler'
) {
if (confirm('Are you sure you want to change?')) {
old_input = $(this);
}
else {
this.checked = 0;
old_input.get()[0].checked = 1;
}
}
else {
old_input = $(this);
}
});
答案 2 :(得分:0)
我认为你正在寻找这个http://jsfiddle.net/7rF3d/当第一次检查单选按钮时没有任何反应。当有人检查另一个人时,他首先会被提示进行确认。如果用户取消旧的已检查无线电将被恢复。
var lastChecked;
$("input[type=radio]").click(function() {
if(typeof(lastChecked) != "undefined" && !confirm("are you sure?")) {
$("input[type=radio]:checked").attr("checked", "false");
$(lastChecked).prop("checked", true);
} else {
lastChecked = $('input[type=radio]:checked');
}
});
答案 3 :(得分:0)
由于jQuery未在问题中标记,因此这是一种纯粹的JS方法。严肃地说,当问题甚至没有在问题中被标记时,他们会尝试放弃建议jQuery解决方案。
您可以使用click
事件来实现此目的,如果选中至少一个单选按钮,则返回false,然后window.confirm
的答案为false,这将阻止它选择新的一个如预期的那样。
var oneChecked=false;
var elem=document.getElementsByName("wheeler");
for (var i=0;i<elem.length;i++) {
elem[i].onclick=function(e) {
if (oneChecked && !window.confirm("Are you sure to switch?")) {
return false;
} else {
oneChecked=true;
}
}
}