我有这段代码创建了一个带有复选框的表,而我的复选框没有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时我没有收到警报,我也不知道为什么,有人可以帮我吗?
答案 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);
希望对您有帮助