ASP.NET MVC — получить флажок без идентификатора

У меня есть этот код, который создает таблицу, в которой есть флажки, и мои флажки не имеют идентификатора, я просто хочу, чтобы они давали мне имя текущего человека в строке, когда они отмечены или не отмечены, и я пытаюсь сделать это с помощью функция 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, и я не знаю, почему, может ли кто-нибудь помочь мне с этим?

Как конвертировать HTML в PDF с помощью jsPDF
Как конвертировать HTML в PDF с помощью jsPDF
В этой статье мы рассмотрим, как конвертировать HTML в PDF с помощью jsPDF. Здесь мы узнаем, как конвертировать HTML в PDF с помощью javascript.
0
0
201
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Получить флажок в 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") } }); }

Mingo Bille 22.04.2019 18:42

Ваши входные данные или таблица добавляются на страницу динамически? Идентификатор таблицы, который вы используете, отличается от вашего исходного сообщения.

mylee 22.04.2019 18:46

входы моей таблицы добавляются динамически

Mingo Bille 22.04.2019 18:49

Ах, хорошо, я обновил ответ, чтобы он работал с динамическим вводом.

mylee 22.04.2019 18:52

это все еще не работает, и, кстати, идентификатор таблицы не меняется, он остается прежним

Mingo Bille 22.04.2019 18:59

Можете ли вы поделиться тем, что у вас есть сейчас? Я только что получил рабочую скрипку, но она была потеряна при обновлении страницы, и здесь уже поздно, поэтому я попытаюсь сделать еще одну, когда снова проснусь.

mylee 22.04.2019 19:19

Когда я использую код, который вы мне дали, и я пытаюсь использовать оповещение, чтобы увидеть, если что-то произойдет, ну ничего не выскакивает и в консоли не выдает никакой ошибки

Mingo Bille 23.04.2019 11:01

Не уверен, что вам это все еще нужно, но я добавил фрагмент в ответ, в котором есть предупреждение при выборе каждого флажка.

mylee 25.04.2019 11:03

эй, мой друг, большое спасибо за твою помощь, мне удалось сделать что-то другое, но большое спасибо за помощь и ответы, которые ты мне дал!!

Mingo Bille 26.04.2019 11:41

Другие вопросы по теме