当我选择单选按钮时,则选择所有单选按钮。我只想选择一个单选按钮

时间:2014-09-19 07:39:58

标签: javascript html radio-button

我正在尝试这样做。

我有三个单选按钮,当我在一个div中使用所有单选按钮时它工作正常但是当我将特定div中的所有单选按钮分开时它不起作用。我点击它然后它被选中但下次当我点击它然后仍然选择单选按钮。 点击它时应该取消选择。

请帮忙。我们将不胜感激。非常感谢。
到目前为止,这是我的代码。

<html>
<head>
</head>
<body>
<div class="filter_subdivisions">
<div class="popular_city radio mgnb6 clearfix">
<span class="fltl" style="width:70%;padding-top: 6px;">Delhi Airport</span>
<span class="fltr">
<label class="label_radio" for="radio-01"><input name="sample-radio" id="radio-01" value="1" type="radio" checked />&nbsp;</label>
</span>
</div>
<div class="popular_city radio mgnb6 clearfix">
<span class="fltl" style="width:70%;padding-top: 6px;">Delhi Airport</span>
<span class="fltr">
<label class="label_radio" for="radio-02"><input name="sample-radio" id="radio-02" value="1" type="radio" />&nbsp;</label>
</span>
</div>
</div>
</body>
</html>

<script>
var d = document;
var safari = (navigator.userAgent.toLowerCase().indexOf('safari') != -1) ? true : false;
var gebtn = function(parEl,child) { return parEl.getElementsByTagName(child); };
onload = function() {
var body = gebtn(d,'body')[0];
body.className = body.className && body.className != '' ? body.className + ' has-js' : 'has-js';

if (!d.getElementById || !d.createTextNode) return;
var ls = gebtn(d,'label');
for (var i = 0; i < ls.length; i++) {
var l = ls[i];
if (l.className.indexOf('label_') == -1) continue;
var inp = gebtn(l,'input')[0];
if (l.className == 'label_radio') {
l.className = (safari && inp.checked == true || inp.checked) ? 'label_radio r_on' : 'label_radio r_off';
l.onclick = turn_radio;
};
};
};
var turn_radio = function() {
var inp = gebtn(this,'input')[0];
if (this.className == 'label_radio r_off' || inp.checked) {
var ls = gebtn(this.parentNode,'label');
for (var i = 0; i < ls.length; i++) {
var l = ls[i];
if (l.className.indexOf('label_radio') == -1)  continue;
l.className = 'label_radio r_off';
};
this.className = 'label_radio r_on';
if (safari) inp.click();
} else {
this.className = 'label_radio r_off';
if (safari) inp.click();
};
};
</script>

1 个答案:

答案 0 :(得分:0)

你必须在同一个容器中放置type="radio"个按钮,使它们的行为类似于单选按钮,就像按照w3schools示例一样

<form>
<input type="radio" name="sex" value="male">Male<br>
<input type="radio" name="sex" value="female">Female
</form>