我有这样的单选按钮:
<input class="check" type="radio" id="radio1" name="group"/>
<label for="radio1">vrai</label>
<input class="check" type="radio" id="radio2" name="group"/>
<label for="radio2">faux</label>
<input class="check" type="radio" id="radio3" name="group"/>
<label for="radio3">75</label>
<input class="check" type="radio" id="radio4" name="group"/>
<label for="radio4">18</label>
我选择的类是:checked
,但奇怪的是,即使使用ie7.js,它也不能在ie8中工作。
下面是我的js:
$(document).ready(function() {
$('input:checked').addClass("selected");
$('input').click(function () {
$('input:not(:checked)').removeClass("selected");
$(this).addClass("selected");
});
});
发布于 2014-01-20 16:46:05
我不确定它是否必须这样做,但我会重写以下代码,看看它是否会改变一些东西:
$('input').not('input:checked').removeClass("selected");
$(this).addClass("selected");
发布于 2014-01-20 16:47:00
尝试使用change()
而不是click()
$(document).ready(function() {
$('input:checked').addClass("selected");
$('input').change(function () { // <--- HERE
$('input:not(:checked)').removeClass("selected");
$(this).addClass("selected");
});
});
发布于 2014-01-20 17:36:59
嘿,我已经为你做了纯javascript的解决方案,它可以跨越所有的浏览器。如果对你有用,请看一看
<script type="text/javascript">
function check(selected)
{
var inputs= document.getElementsByTagName('input');
for(i=0 ; i < inputs.length; ++i)
{
inputs[i].className="";
}
selected.className="selected";
}
</script>
<input class="check" type="radio" id="radio1" name="group" onclick="check(this);"/>
<label for="radio1">vrai</label>
<input class="check" type="radio" id="radio2" name="group" onclick="check(this);"/>
<label for="radio2">faux</label>
<input class="check" type="radio" id="radio3" name="group" onclick="check(this);"/>
<label for="radio3">75</label>
<input class="check" type="radio" id="radio4" name="group" onclick="check(this);"/>
<label for="radio4">18</label>
https://stackoverflow.com/questions/21239333
复制