我需要一些帮助。 我有程序根据用户输入在单选框中更改表值 与此页面类似:
但问题是我希望用户只选择一次无线电输入;如果他们选择另一个 无线电然后表的值搞砸了。 所以我想知道的是,当用户选择两次无线电输入时,如何制作警告框?
与此网站类似clicky尝试点击两次单选按钮并提示弹出窗口。
请有人帮忙吗?
答案 0 :(得分:1)
如果没有从外部库中获取帮助,很难阻止单选按钮输入节点上的事件。一个简单的解决方案是从附加到每个输入节点的onclick函数中禁用按钮。像这样:http://jsfiddle.net/c73Mh/。如果由于某种原因他们仍然需要能够选择单选按钮,则可以通过选择最初从同一功能中选择的按钮来取消选择。希望这有帮助!
答案 1 :(得分:0)
为了简单起见,我假设每个单选按钮的id是name和value属性的组合。除了我在下面给出的内容之外,您还需要添加一个设置selectedValues = {};
的某种reset()函数并取消选择所有单选按钮。
<input type="radio" name="group1" value="A" id="group1A" onclick="radioClicked(this);" />First option
<input type="radio" name="group1" value="B" id="group1B" onclick="radioClicked(this);" />Second option
<input type="radio" name="group2" value="A" id="group2A" onclick="radioClicked(this);" />First option
<input type="radio" name="group2" value="B" id="group2B" onclick="radioClicked(this);" />Second option
var selectedValues = {};
function radioClicked(rb) {
if (selectedValues[rb.name] === undefined) {
selectedValues[rb.name] = rb.value;
doTableProcessing();
}
else {
alert("You can't change the selected values");
document.getElementById(rb.name + selectedValues[rb.name]).checked = true;
}
}