如何创建具有不同名称的互斥单选按钮?

时间:2010-07-09 20:57:49

标签: javascript html radio-button

我有几个属于同一类别的单选按钮,但我想以不同的方式命名它们并使它们互斥。我怎么做?根据选定的值,我会执行不同的操作,如果它们具有相同的名称,则无法访问它们。

3 个答案:

答案 0 :(得分:24)

如果名称相同,为什么不能访问它们? 您可以添加ID (您应该),您可以按值区分或只计算它们并使用第n个元素。

应该给出相同名称的无线电按钮,以使浏览器理解它们是独占的。

你可以(但不应该)破解这个,给每个对象一个不同的名字。然后为每个对象添加onSelect / onClick处理程序,当事件触发时,“取消选中”其他按钮。这很脏,应该避免。

答案 1 :(得分:14)

单选按钮需要相同名称才能互斥。但是,如果您想使用JavaScript单独操作它们,它们可以具有不同的ID属性值。

有很多方法可以使用jQuery获取所选值:

<input type="radio" name="foo" value="1" />
<input type="radio" name="foo" value="2" />


// value of checked input tag of type 'radio'
var selectedValue = $('input[type=radio]:checked').val();

// value of checked input tag having name of 'foo'
var selectedValue = $('input[name=foo]:checked').val();

// value of the first checked radio button, regardless of name
var selectedValue = $('input:checked').val();

答案 2 :(得分:0)

如果您必须更改名称,则可以通过JavaScript访问DOM及其元素。

<input type="checkbox" name="X" id="myElement" />

<script>   document.getElementById('myElement').name = 'text'; </script>  

http://www.w3schools.com/JS/js_ex_dom.asp