У меня есть этот код, который создает таблицу, в которой есть флажки, и мои флажки не имеют идентификатора, я просто хочу, чтобы они давали мне имя текущего человека в строке, когда они отмечены или не отмечены, и я пытаюсь сделать это с помощью функция OnChecked, и она не работает.
Это мой код:
<table id = "table" class = "table table-bordered table-responsive table-hover table-bordered">
<tr>
<th align = "center">Nome</th>
<th align = "center">Envia Mensagem</th>
<th align = "center">Envia Emails</th>
<th align = "center">Remover</th>
</tr>
@foreach (var esp in ViewBag.Json1)
{
<tr>
<td>@esp.Nome</td>
@if (@esp.NotificacaoEmail == "True")
{
<td align = "center"><input class = "minimal" onclick = "FillBooks(CURRENT LINE NAME);" type = "checkbox" checked = "checked"></td>
}
else
{
<td align = "center"><input class = "minimal" type = "checkbox"></td>
}
@if (@esp.NotificacaoAlerta == "True")
{
<td align = "center"><input class = "minimal" type = "checkbox" checked = "checked"></td>
}
else
{
<td align = "center"><input class = "minimal" type = "checkbox"></td>
}
<td>
<button type = "button" class = "btn btn-block btn-danger">Remover</button>
</td>
</tr>
}
</table>
Это мой Javascript:
function myFunction(val) {
alert(val);
}
Я не получаю оповещение, когда меняю флажок на true или false, и я не знаю, почему, может ли кто-нибудь помочь мне с этим?

Получить флажок в jQuery, например:
let checkboxes = $("input[type='checkbox']");
//you can debug after like
console.info(checkboxes);поэтому в Javascript у вас может быть флажок, например:
let checkboxes = document.querySelectorAll("input[type='checkbox']");
// to debug
console.info(checkboxes);Я надеюсь, что это поможет вам
Вы можете применить прослушиватель onchange ко всем флажкам в таблице и узнать, отмечен он или нет, следующим образом:
$("#table").on("change", "input[type=checkbox]", function () {
if ($(this).is(":checked")) {
// This checkbox was just checked
} else {
// This checkbox was just unchecked
}
});
Рабочий фрагмент ниже:
$("#table").on("change", "input[type=checkbox]", function () {
var name = $(this).parents("tr").children().first().text();
if ($(this).is(":checked")) {
// This checkbox was just checked
alert(name + " is checked");
} else {
// This checkbox was just unchecked
alert(name + " is unchecked");
}
});
for (var i = 0; i < 5; i++)
$("#table").append("<tr><td>Name " + (i + 1) + "</td><td><input type=\"checkbox\" /></td></tr>")
setTimeout(function () {
for (var i = 5; i < 10; i++)
$("#table").append("<tr><td>Name " + (i + 1) + "</td><td><input type=\"checkbox\" /></td></tr>")
}, 5000)<script src = "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table id = "table"></table>Ваши входные данные или таблица добавляются на страницу динамически? Идентификатор таблицы, который вы используете, отличается от вашего исходного сообщения.
входы моей таблицы добавляются динамически
Ах, хорошо, я обновил ответ, чтобы он работал с динамическим вводом.
это все еще не работает, и, кстати, идентификатор таблицы не меняется, он остается прежним
Можете ли вы поделиться тем, что у вас есть сейчас? Я только что получил рабочую скрипку, но она была потеряна при обновлении страницы, и здесь уже поздно, поэтому я попытаюсь сделать еще одну, когда снова проснусь.
Когда я использую код, который вы мне дали, и я пытаюсь использовать оповещение, чтобы увидеть, если что-то произойдет, ну ничего не выскакивает и в консоли не выдает никакой ошибки
Не уверен, что вам это все еще нужно, но я добавил фрагмент в ответ, в котором есть предупреждение при выборе каждого флажка.
эй, мой друг, большое спасибо за твою помощь, мне удалось сделать что-то другое, но большое спасибо за помощь и ответы, которые ты мне дал!!
кажется отличным способом сделать это, но он не срабатывает, я не знаю, почему. Я сделал это так: $(document).ready(function () { $("#table2").find("input[type=checkbox]").on("change", function () { if ($ (this).is(":checked")) { alert("checked") } else { alert("unchecked") } }); }