gpt4 book ai didi

javascript - 当我单击表格中的特定 td 时,我想将复选框设置为 "checked"

转载 作者:行者123 更新时间:2023-12-01 01:21:13 26 4
gpt4 key购买 nike

嘿伙计们。我希望在单击一行的最后一个 td 字段后“选中”我的复选框。我用 JQuery 尝试过,但不幸的是我总是选中所有复选框。我只想检查我单击的行的 td。

这就是我构建表格的方式。

<table class="table table-striped" id="notfallTable">
<tr>
<th value="name">Name</th>
<th>Nachname</th>
<th>Nummer</th>
<th>Abteilung</th>
<th id="thCheckbox"><button id="checkAll" class="btn btn-success">Check all</button>
</th>
</tr>
</table>
$.getJSON("NotfallSMS.json", function(data){
var items=[];
var checkbox="test";
$.each(data, function(key, val){
items.push("<tr>");
items.push("<td contenteditable>"+val.Name+"</td>");
items.push("<td contenteditable>"+val.Nachname+"</td>");
items.push("<td contenteditable>"+val.Nummer+"</td>");
items.push("<td contenteditable>"+val.Abteilung+"</td>")
items.push("<td class='check'><input class='check' type='checkbox'>"+""+"</input></td>");

items.push("</tr>");
});
$("<tbody/>", {html: items.join("")}).appendTo("table");
});

希望你能帮帮我。问候埃尔夫多

最佳答案

要实现此目的,您可以将单击事件处理程序 Hook 到 td.check 元素,该元素使用 find() 检索单元格内的复选框并切换其 checked 属性,如下所示:

$('tr td.check').on('click', function() {
$(this).find(':checkbox').prop('checked', (i, checked) => !checked);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table class="table table-striped" id="notfallTable">
<tr>
<th value="name">Name</th>
<th>Nachname</th>
<th>Nummer</th>
<th>Abteilung</th>
<th id="thCheckbox"><button id="checkAll" class="btn btn-success">Check all</button>
</th>
</tr>
<tbody>
<tr>
<td contenteditable>val.Name</td>
<td contenteditable>val.Nachname</td>
<td contenteditable>val.Nummer</td>
<td contenteditable>val.Abteilung</td>
<td class="check"><input class="check" type="checkbox" /></td>
</tr>
<tr>
<td contenteditable>val.Name</td>
<td contenteditable>val.Nachname</td>
<td contenteditable>val.Nummer</td>
<td contenteditable>val.Abteilung</td>
<td class="check"><input class="check" type="checkbox" /></td>
</tr>
</tbody>
</table>

但是值得注意的是,您可以在没有 JS 或 jQuery 的情况下通过使用 CSS 来实现完全相同的行为。将复选框包裹在 label 中,并使用 CSS 将其设置为 display: block:

label {
display: block;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table class="table table-striped" id="notfallTable">
<tr>
<th value="name">Name</th>
<th>Nachname</th>
<th>Nummer</th>
<th>Abteilung</th>
<th id="thCheckbox"><button id="checkAll" class="btn btn-success">Check all</button>
</th>
</tr>
<tbody>
<tr>
<td contenteditable>val.Name</td>
<td contenteditable>val.Nachname</td>
<td contenteditable>val.Nummer</td>
<td contenteditable>val.Abteilung</td>
<td class="check"><label><input class="check" type="checkbox" /></label></td>
</tr>
<tr>
<td contenteditable>val.Name</td>
<td contenteditable>val.Nachname</td>
<td contenteditable>val.Nummer</td>
<td contenteditable>val.Abteilung</td>
<td class="check"><label><input class="check" type="checkbox" /></label></td>
</tr>
</tbody>
</table>

关于javascript - 当我单击表格中的特定 td 时,我想将复选框设置为 "checked",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59788509/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com