Bootstrap: установить начальную радиокнопку в HTML
Я использую кнопки JavaScript Bootstrap для стилизации некоторых переключателей, и я, похоже, не могу установить начальную кнопку, как отмечено.
Вот мой код:
<div class="btn-group" data-toggle="buttons">
<label class="btn btn-info">
<input checked="checked" type="radio" id="match-three" name="options">Three numbers
</label>
<label class="btn btn-info">
<input type="radio" name="options" id="match-four">Four numbers
</label>
</div>
Первая кнопка имеет checked="checked"
, но она не указана как отмеченная.
Кнопки стилируются ОК после событий кликов, поэтому я не уверен, что происходит с ошибкой при начальной загрузке.
Версия для загрузки здесь: http://bootply.com/89566
Ответы
Ответ 1
Если вы используете HTML-тип HTML 5, просто используйте checked
без какого-либо значения:
<label class="btn btn-info active">
<input checked type="radio" id="match-three" name="options">Three numbers
</label>
checked="checked"
должен работать также, поэтому вам нужно будет уточнить, что не работает для вас.
- Наличие атрибута
checked
в input
обеспечит правильное состояние в поле формы
- Добавление класса
active
в label
приведет к правильному визуальному состоянию
Справочная документация.
Ответ 2
Если вы хотите, чтобы компонент Bootstrap button()
распознавал входы checked
, изначально вам нужно добавить некоторый jQuery, например..
$('[checked="checked"]').parent().addClass("active");
Это активирует активное состояние соответствующих кнопок/меток в группе.
Ответ 3
Как упоминал Скелли, активный класс - это то, что Bootstrap переключает, он не смотрит на проверенный атрибут. Вам не нужно делать это с Javascript, однако...
<label class="btn btn-info active">
<input checked type="radio" id="match-three" name="options">Three numbers
</label>
Дает вам то, что вы ищете.