我正在尝试制作自定义单选按钮,为此,我必须隐藏原始输入,并使用图标代替它。自定义单选按钮需要显示值作为原始输入
添加和删除“已检查”类可以正常工作,但它必须同时更改图标,如果未选中则显示十字,或检查是否已检查。而....我只是不明白它应该如何工作,所以显然...试图做的jquery,因为我这样做没有多少意义....
另外,因为他们是无线电按钮,当你点击选中的单选按钮时,它不应该改变,所以需要检查,如果用户点击未选中的单选按钮,选中的单选按钮将停止检查,用户最后单击的按钮将被检查(我想我没有解释得很好,他们只需要按照单选按钮来操作)。 任何人都可以帮我一个忙吗?
HTML:
<div class="price_type">
<p>PRICE TYPE</p>
<div class="radiobutton checked">
<label>
<i class="fa fa-check" aria-hidden="true"></i>
<input name="price_type" value="retail" id="retail" type="radio" checked>
<span class="text">RETAIL</span>
</label>
</div>
<div class="radiobutton">
<label>
<i class="fa fa-times" aria-hidden="true"></i>
<input name="price_type" value="inBond" id="inBond" type="radio">
<span class="text">IN BOND</span>
</label>
</div>
</div>
CSS:
.radiobutton {
display: inline-block;
padding-left: 10px;
}
.radiobutton label input[type="radio"],
.radiobutton label span {
vertical-align:middle;
position:relative;
font-weight: 100;
}
.radiobutton label i{
color:#979797;
z-index:1;
cursor: pointer;
font-size: 1.5em;
}
.radiobutton label input[type="radio"] {
display:block;
}
.radiobutton.checked label i {
color:blue;
}
JS:
var iconRadiobutton = $('.radiobutton label i');
$(iconRadiobutton).on('click', function(){
$(iconRadiobutton).parent().parent().removeClass("checked");
if($(this).hasClass("fa-check")) {
$(this).toggleClass("fa-check fa-cross ");
}
else if ($(this).hasClass("fa-cross")) {
$(this).toggleClass("fa-cross fa-check");
}
$(this).parent().parent(".radiobutton").addClass("checked");
});
https://jsfiddle.net/tj7Lb1sv/
不是为什么它不工作,其实....我不能对每个单选按钮的ID ......我有数百个...... –