我有一个需要能够取消选中选中的单选按钮在一组3.它适用于大部分,但它是一个小错误 - 有时不检查,当我想检查一个不同的按钮,有时不检查第一次点击时的按钮,当我没有选中一个不同的按钮时,点击不同的收音机几次后取消选中等等。希望有人可以看一看,看看是什么造成这个取消单选按钮与jQuery有点bug
CSS:
input[type="radio"] { display: none; }
input[type="radio"] + label {
color:#f2f2f2;
font-family:Arial, sans-serif;
font-size:14px;
}
input[type="radio"] + label span {
display:inline-block;
width:19px;
height:19px;
margin:-1px 4px 0 0;
vertical-align:middle;
background:url(../images/check_radio_sheet.png) -38px top no-repeat;
cursor:pointer;
}
input[type="radio"]:checked + label span {
background:url(../images/check_radio_sheet.png) -57px top no-repeat;
}
的HTML:
<form class="optionsfilter" action="#">
<ul style="list-style: none;">
<li>
<span style="color: #eee;">Smoking Inside?</span>
<div class="clear"></div>
<input type="radio" name="smokingoption" id="smoking" value="smoking"><label for="smoking" onclick=""><span></span>Yes</label>
<input type="radio" name="smokingoption" id="non-smoking" value="non-smoking"><label for="non-smoking" onclick=""><span></span>No</label>
<input type="radio" name="smokingoption" id="cigarsmoking" value="cigar"><label for="cigarsmoking" onclick=""><span></span>Cigars</label>
</li>
</ul>
</form>
这里的脚本:
$('input[type="radio"]').click(function() {
var checked = $(this).attr('checked');
if(checked){
$(this).attr('checked', false);
} else{
$(this).attr('checked', true);
}
});
而且这里有一个的jsfiddle所有代码: http://jsfiddle.net/RfDk6/
选中此项。 http://jsfiddle.net/RfDk6/2/ – DON
你想达到什么目的?这不是单选按钮的默认行为吗? – undefined
@DON只是给出单选按钮的默认行为。我在过滤器中使用这些选项作为选项,但我希望用户能够完全取消选中,以便在过滤器中删除选项(如果他们愿意的话)。由于这3个走在一起,我需要使用单选按钮而不是复选框。 –