Подтвердить что ты не робот

Предварительно переключить кнопку в группе Bootstrap btn-group?

Я хотел бы установить выбранную кнопку в Bootstrap btn-group:

<div class="btn-toolbar">
 <div class="btn-group">
  <button type="button" class="btn btn-default">5</button>
  <button type="button" class="btn btn-default">6</button>
  <button type="button" class="btn btn-default">7</button>
 </div>
 <div class="btn-group">
  <button type="button" class="btn btn-default">8</button>
 </div>
</div>

Как я могу выбрать опцию 5? Этот ответ предлагает, что я могу добавить класс active к кнопке, которая действительно работает изначально, но затем нажатие на другие кнопки не деактивирует эту кнопку, так как Я бы ожидал.

Вот скрипка: http://bootply.com/90490

Вот еще одна скрипка с классом active, показывающая, почему это не правильное решение: http://bootply.com/90491 - click на любой из других кнопок, и кнопка 5 остается активной.

4b9b3361

Ответ 1

Предполагая, что вы хотите, чтобы для каждой группы кнопок был один выбор, и что вы включили файл JavaScript для начальной загрузки, тогда должно работать следующее.

Разметка

<div class="btn-toolbar">
    <div class="btn-group" data-toggle="buttons">
        <label class="btn btn-default"><input type="radio" name="options" id="option5">5</label>
        <label class="btn btn-default"><input type="radio" name="options" id="option6">6</label>
        <label class="btn btn-default"><input type="radio" name="options" id="option7">7</label>
    </div>
    <div class="btn-group" data-toggle="buttons">
        <label class="btn btn-default"><input type="radio" name="options" id="option8">8</label>
    </div>
</div>

JavaScript

$(document).ready(function() {
    $(".btn").first().button("toggle");
});

Если вы хотите, например, предварительно переключить третью кнопку, вы можете использовать функцию среза следующим образом:

$(".btn").slice(2,3).button("toggle");

В качестве альтернативы вы можете назначать идентификаторы кнопкам.

Здесь моя скрипка: http://bootply.com/90501

Ответ 2

Я искал ответ на кнопку pre-toggle a и нашел это SO. Все они казались немного трудными, и я нашел ссылку на кнопки BootStrap 4, которые дали мне несколько советов о том, как работает BootStrap 3. Мое решение, я думаю, проще, поскольку оно может быть предварительно записано в html. Решение находится ниже:

<div class="btn-group" data-toggle="buttons">
    <label class="btn btn-default active">
        <input type="radio" checked>5
    </label>
    <label class="btn btn-default">
        <input type="radio">6
    </label>
    <label class="btn btn-default">
        <input type="radio">7
    </label>
</div>

Как я уже сказал, это было вызвано документами BootStrap 4, но работает над BootStrap 3. Важными частями являются:

  • data-toggle="buttons" в btn-group div.
  • Класс active на ярлыке 5.
  • checked на <input type="radio"> для 5.

Я надеюсь, что это поможет другим.