0

我需要一些帮助。我有一个程序可以根据用户在类似于此页面的单选框中输入更改表值:

咔嚓

但问题是我希望用户只选择一次无线电输入;如果他们选择另一个收音机,那么表格的值就会变得混乱。所以我想知道的是当用户选择无线电输入两次时如何制作一个警报框?

与此网站类似,clicky尝试单击单选按钮两次并弹出警报。

请问有人可以帮忙吗?

4

2 回答 2

1

如果不从外部库中引入帮助,很难阻止单选按钮输入节点上的事件。一个简单的解决方案是从附加到每个输入节点的 onclick 函数中禁用按钮。像这样:http: //jsfiddle.net/c73Mh/。如果出于某种原因他们仍然需要能够选择单选按钮,您可以通过选择最初从同一功能中选择的按钮来取消选择。希望这可以帮助!

于 2011-05-05T00:09:40.913 回答
0

在我的示例中为简单起见,我假设每个单选按钮的 id 是名称和值属性的组合。除了我在下面给您的内容之外,您还需要添加某种设置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;
  }
}
于 2011-05-05T01:01:30.833 回答