Задать вопрос
@andrey71
админю и учу C#, ASP.NET Core

Из-за чего checkbox не реагирует на нажатия?

Доброго дня всем!

Подскажите пожалуйста, из-за чего чекбоксы на странице себя так странно ведут? И как это поправить?
Работаю с дефолтным шаблоном сайта из Visual Studio 2019.

Я сделал красивый checkbox

5fd67d2843b05176170943.png

Всё здорово, но он не реагирует на нажатия(
<div class="custom-control custom-checkbox mb-3">
                                <input type="checkbox" class="custom-control-input" id="custCheckBox" @onchange="eventArgs => { CheckboxClicked(bag, eventArgs.Value); }" />
                                <label class="custom-control-label" for="custCheckBox">@bag.LabResearchId </label>
                            </div>

Если всю красоту убрать, то всё работает.

5fd67dc2889e9780535384.png

<div class="form-check">
                                <label class="col-form-label">                                    
                                    <input type="checkbox" @onchange="eventArgs => { CheckboxClicked(bag, eventArgs.Value); }"/ >@LabResId 
                                </label>
                            </div>

То всё замечательно. Правда выглядит не очень(

Как же так?
Буду вам очень благодарен за подсказку/идею.
Спасибо!
  • Вопрос задан
  • 1789 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
AntonLitvinenko
@AntonLitvinenko
HTML coder
Не забываем, что id должен быть уникален для каждого чекбокса и соотверственно лейбы, связанной с ним.
Поэтому более интересным решением будет подобная разметка
<label class="checkbox">
	<input type="checkbox">
	<span class="label_text">Я переключаю чекбокс</span>
</label>

С последующей стилизацией елемента label_text
Вот статья
https://dimox.name/custom-checkboxes-and-radio-but...
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@andrey71 Автор вопроса
админю и учу C#, ASP.NET Core
Антон, спасибо вам! Всё получилось. Такой нюанс, описание которого я не встречал. Наверное, для тех кто давно этим занимается, он очевидный. Но для новичка - не очень.
5fd707567fcf6493384132.png

Поскольку checkBox у меня генерируются в цикле, я просто добавил номер к имени.
<div class="custom-control custom-checkbox mb-3">
<input type="checkbox" class="custom-control-input" id="custCheckBox_@nomer" @onchange="eventArgs => { CheckboxClicked(bag, eventArgs.Value); }" />
<label class="custom-control-label" for="custCheckBox_@nomer">@bag.LabResearchId </label>
</div>


Спасибо!
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы