Я пытаюсь создать пользовательские переключатели, для этого мне нужно скрыть исходный ввод и сделать это с помощью значков.пользовательские переключатели должны отображать значение как исходный вход
Добавление и удаление класса «проверено» отлично работает, но оно должно одновременно изменять значок, отображающий крестик, если он не установлен, или проверить, проверен ли он. И ... Я просто не могу понять, как это должно работать так очевидно ... пытаясь сделать 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;
}
ЯШ:
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/
не поэтому он не работает, на самом деле .... я не могу иметь идентификатор для каждой кнопки радио ... Я есть сотни из них .... –