我正在嘗試製作自定義單選按鈕,爲此,我必須隱藏原始輸入,並使用圖標代替它。自定義單選按鈕需要顯示值作爲原始輸入
添加和刪除「已檢查」類可以正常工作,但它必須同時更改圖標,如果未選中則顯示十字,或檢查是否已檢查。而....我只是不明白它應該如何工作,所以顯然...試圖做的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 ......我有數百個...... –