ASP.NET MVC-获取不带ID的复选框

时间:2019-04-22 16:13:20

标签: jquery html asp.net-mvc

我有这段代码创建了一个带有复选框的表,而我的复选框没有ID,我只想让他们在选中或未选中它们时给我当前行的名称,而我试图使用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);

    }

将Checkbox更改为true或false时我没有收到警报,我也不知道为什么,有人可以帮我吗?

2 个答案:

答案 0 :(得分:1)

您可以将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>

答案 1 :(得分:0)

在jQuery中获取复选框,例如:

let checkboxes = $("input[type='checkbox']");
//you can debug after like 
console.log(checkboxes);

因此,在Javascript中,您可以具有以下复选框:

let checkboxes = document.querySelectorAll("input[type='checkbox']");
// to debug 
console.log(checkboxes);

希望对您有帮助