#html #bootstrap-4
#HTML #bootstrap-4
Вопрос:
Если я выбираю кнопку из одной группы, она работает нормально. Но затем, если я выбираю кнопку из следующей группы, она забывает о выборе первой группы. Это проблема, которую я много раз видел в Stack Overflow, и каждый раз решение заключалось в том, чтобы присвоить каждой кнопке в группе имя, отличное от другой группы. Однако я пробовал это решение, и я все еще могу одновременно выбирать кнопку только из одной группы кнопок. Что еще может быть причиной этого?
https://getbootstrap.com/docs/4.5/components/button-group/
Пожалуйста, смотрите мой код ниже:
<form method=”POST”>
<div id="friendly" class="btn-group" role="group" aria-label="Basic example">
<div class="input-group-prepend">
<span class="input-group-text" id="addon-wrapping">ESG Consideration (select one)</span>
</div>
<button name="friendly" value="very-high" type="button" class="btn btn-secondary">Very High</button>
<button name="friendly" value="high" type="button" class="btn btn-secondary"> High </button>
<button name="friendly" value="medium" type="button" class="btn btn-secondary"> Medium </button>
<button name="friendly" value="low" type="button" class="btn btn-secondary"> Low </button>
<button name="friendly" value="very-low" type="button" class="btn btn-secondary"> Very Low</button>
</div>
<div id="risk-tolerance" class="btn-group" role="group" aria-label="Basic example">
<div class="input-group-prepend">
<span class="input-group-text" id="addon-wrapping">Risk Tolerance (select one)</span>
</div>
<button name="risk-tolerance" value="very-high" type="button" class="btn btn-secondary">Very High</button>
<button name="risk-tolerance" value="high" type="button" class="btn btn-secondary"> High </button>
<button name="risk-tolerance" value="medium" type="button" class="btn btn-secondary"> Medium </button>
<button name="risk-tolerance" value="low" type="button" class="btn btn-secondary"> Low </button>
<button name="risk-tolerance" value="very-low" type="button" class="btn btn-secondary"> Very Low</button>
</div>
<p> </p>
</form>
Ответ №1:
Я полагаю, вы неправильно понимаете документацию. Кнопки — это кнопки, нет способа указать, отмечены они или нет, поскольку они не являются входными данными. Из вашей ссылки на документацию
Добавьте необязательный JavaScript-переключатель и поведение в стиле флажков с помощью нашего плагина buttons.
Если вы преобразуете это из кнопок во входные данные, это работает так, как ожидалось. (Примечание: фрагменты стека не подходят для начальной загрузки)
Чтобы уточнить, группа кнопок — это дизайн, а не функциональность. На самом деле вам нужно использовать входные данные либо в качестве флажков, либо, что более вероятно, в качестве радиостанций.
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" rel="stylesheet" />
<form method=”POST”>
<div id="friendly" class="btn-group" role="group" aria-label="Basic example">
<div class="input-group-prepend">
<span class="input-group-text" id="addon-wrapping">ESG Consideration (select one)</span>
</div>
<label class="btn btn-secondary">
<input name="friendly" value="very-high" type="radio">Very High
</label>
<label class="btn btn-secondary">
<input name="friendly" value="high" type="radio"> High
</label>
<label class="btn btn-secondary">
<input name="friendly" value="medium" type="radio"> Medium
</label>
<label class="btn btn-secondary">
<input name="friendly" value="low" type="radio"> Low
</label>
<label class="btn btn-secondary">
<input name="friendly" value="very-low" type="radio"> Very Low
</label>
</div>
<div id="risk-tolerance" class="btn-group" role="group" aria-label="Basic example">
<div class="input-group-prepend">
<span class="input-group-text" id="addon-wrapping">Risk Tolerance (select one)</span>
</div>
<label class="btn btn-secondary">
<input name="risk-tolerance" value="very-high" type="radio">Very High
</label>
<label class="btn btn-secondary">
<input name="risk-tolerance" value="high" type="radio"> High
</label>
<label class="btn btn-secondary">
<input name="risk-tolerance" value="medium" type="radio"> Medium
</label>
<label class="btn btn-secondary">
<input name="risk-tolerance" value="low" type="radio"> Low
</label>
<label class="btn btn-secondary">
<input name="risk-tolerance" value="very-low" type="radio"> Very Low
</label>
</div>
<p> </p>
</form>
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
Комментарии:
1. большое спасибо за ответ. В документации getbootstrap.com/docs/4.5/components/buttons/#button-plugin в нем говорится, что я могу использовать метод
$().button('toggle')
, чтобы показать, что кнопка была выбрана. На данный момент код не показывает, что он был выбран после того, как я щелкнул по нему в браузере. Вы знаете, как я мог бы это добавить?