Переписывал все с 4 на 5 Bootstrap:
# 1. Bootstrap 4
.custom-control.custom-checkbox.float-left
input.custom-control-input.result-game.float-left onclick="recalc( )" type="checkbox" autocomplete="off" checked=data['IsGameCheckboxEnabled'] id="game_1"
label.custom-control-label for="game_1"
# 2. Bootstap 5
.form-check.float-start
input.form-check-input.result-game.float-start onclick="recalc( )" type="checkbox" autocomplete="off" checked=data['IsGameCheckboxEnabled'] id="game_1"
Далее выполняется код:
var game_checked = $("#game_1").is(":checked");
где я получаю значение чекбокса и использую его дальше.
Почему jquery возвращает разное?
Допустим, чекбокс НЕ нажат. Если я нажму на него, то:
При 1 - game_checked будет true. Т.е. он сначала нажмется, а только после jquery заберет его значение.
При 2 - game_checked будет false. Т.к. jquery в этот раз заберет значение на момент нажатия, а только потом чекбокс станет чекнутым.