我有几个单选按钮,使用图像作为屏幕上的显示。常规状态,悬停状态和单击状态。图像显示在每个状态,但如果我单击2单选按钮,则两个都保持单击状态。如何点击或点击它。
这是jquery:
$(".image_radiobtn input[type='radio']").change(function(){
if($(this).is(":checked")){
$(this).next("label").removeClass('hover').addClass('checked');
}
else{
$(this).next("label").removeClass('checked');
}
});
这是html:
<ul id="radiobtn-toggle-view" class="image_radiobtn">
<li>
<input id="input-1" type="radio" name="address" value="1" />
<label for="input-1">Use this address.</label>
</li>
</ul>
这是css:
#radiobtn-toggle-view, #radiobtn-toggle-view2 {
list-style: none;
margin: 0;
position: relative;
cursor: pointer;
}
#radiobtn-toggle-view li, #radiobtn-toggle-view2 li{
min-height: 15px;
height: 15px;
margin:0;
padding: 10px 0;
}
#radiobtn-toggle-view label, #radiobtn-toggle-view2 label {
cursor: pointer;
font-size: 14px;
font-weight: bold;
height: 15px;
line-height: 15px;
margin: 0;
text-decoration: none;
}
.image_radiobtn li input[type='radio']{
display:none;
}
.image_radiobtn li label {
background: url(/images/icons/grey_radio_btn.png) no-repeat;
padding-left: 20px;
}
.image_radiobtn li label:hover {
background: url(/images/icons/e_radio_btn.png) no-repeat;
}
.image_radiobtn li label.checked {
background: url(/images/icons/g_radio_btn.png) no-repeat;
}
.hidden {display: none;}
答案 0 :(得分:0)
在Jquery代码中添加新类之前,需要清除所有已检查的类。 PS:根据您的层次结构更改选择器,使其获得组中的所有无线电。
$(".image_radiobtn input[type='radio']").change(function(){
$('selector').removeClass('checked');
if($(this).is(":checked")){
$(this).next("label").removeClass('hover').addClass('checked');
}
else{
$(this).next("label").removeClass('checked');
}
});