У меня есть следующий Bootstrap HTML в странице, которая также использует JQuery:Binding загрузчика кнопка радио изменения состояния
<div class="btn-group" data-toggle="buttons-radio">
<button id="copyButton" class="btn btn-small btn-primary">Copy</button>
<button id="editButton" class="btn btn-small btn-primary">Modify</button>
<button class="btn btn-small btn-primary active">Do nothing</button>
</div>
Эти три кнопок появляются на каждой строке таблицы (для каждой строки пользователь должен выбрать действие).
Я хотел бы отобразить и обновить счетчик числа строк, где активна кнопка Copy
, а также количество строк, в которых активна кнопка Modify
.
Я попытался добавить следующую функцию, которая вызывается с помощью специальной функции кнопочного типа, связанной с click
события кнопок:
function updateCounts() {
var modifyValueCount = $("button[id=editButton].active").length;
var copyValueCount = $("button[id=copyButton].active").length;
$("#variablesToModifyCount").text(modifyValueCount);
$("#variablesToCopyCount").text(copyValueCount);
}
Но мне кажется, что кнопка, которая только что была нажата не включается в счет, поскольку класс active
не применяется до окончания вызова onClick
. Я также попытался привязать к событию mouseup
, но это также кажется слишком быстрым.
Что произойдет, если пользователь щелкает уже активную кнопку? Не будет ли подсчет этой кнопки? – Rich
Да, это спустится. Это то, к чему вы стремитесь? О, ты имеешь в виду, что это не учитывается в первую очередь. На самом деле, вы могли бы просто посчитать их изначально, я могу это обновить. Просто попытался разработать концепцию проверки противоположного состояния класса, а не искать уведомления. Похоже, что у других были подобные проблемы в прошлом. Https://github.com/twbs/bootstrap/issues/2380 – melc
Если я дважды щелкнул по кнопке Radio, первый раз, когда он включается, второй раз он ничего не делает. Но счет будет расти, а затем вниз. Мне нужно подсчет, чтобы отобразить количество кнопок, которые находятся в ... – Rich