Комментарии 15
Вообще-то лейбл работает на iOS, но необходимо к нему дописать атрибут onclick=""
Обьясните, пожалуйста, как это применять, желательно с примером?
Или достаточно просто написать пустой атрибут onclick лейблу?
Или достаточно просто написать пустой атрибут onclick лейблу?
Достаточно просто добавить onclick="" к лейблу. читать здесь
Да и без jQuery можно обойтись:
var lLabels = document.getElementsByTagName('label');
for(var i=0; i < lLabels.length; i++)
{
lLabels[i].onclick = function()
{
document.getElementById(this.getAttribute('fur')).checked = true;
};
}
Для чекбоксов будет чуть поболее:
var lChkBox = document.getElementById(this.getAttribute('fur'));
lChkBox.checked = !lChkBox.checked;
var lLabels = document.getElementsByTagName('label');
for(var i=0; i < lLabels.length; i++)
{
lLabels[i].onclick = function()
{
document.getElementById(this.getAttribute('fur')).checked = true;
};
}
Для чекбоксов будет чуть поболее:
var lChkBox = document.getElementById(this.getAttribute('fur'));
lChkBox.checked = !lChkBox.checked;
input{display: none;} — так вы скроете все инпуты.
input[type=«radio»] — так — радио.
input[type=«radio»] — так — радио.
забыл дописать во второй строке {display: none}
input[type="radio"] {display: none}
Я вам даже больше скажу, в реальности надо скрывать не все
radiobutton
. Я пытался минимализировать пример кода, чтобы донести основную мысль.Как в таком случае изменить состояние объекта в зависимости от того выбран он или нет?
Имхо, вместо этих костылей лучше юзать старый добрый хелпер () и стилизовать его как душе угодно. + поддержка IE6+ тоже не маловажно. Я не прав?
В CSS нужно втавить вместо:
вставить:
Без display: inline-block; не отображаются лейблы
label{
width: 20px;
height: 20px;
}
вставить:
label{
width: 30px;
height: 30px;
display: inline-block;
}
Без display: inline-block; не отображаются лейблы
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Кастомизация radiobutton без JS