jquery - 动态创建的 html 表格行上的单行选择
问题描述
我创建了一个动态表。此 html 表具有数据绑定并从数据库中获取所有数据。我有一个使用 jquery 的点击行选择功能,但我认为它只在静态表(硬编码)上执行。有人可以帮我在动态创建的 html 表格行上单击单行选择吗?(它应该是单行选择,这意味着当用户单击其他表格行时,应该取消选择最后选择的行。)
HTML
<table id="tblCases">
<thead >
<tr>
<th>CASE KEY</th>
<th>DEPARTMENT CASE #</th>
<th>DEPARTMENT</th>
<th>CHARGE</th>
<th>LAB CASE #</th>
<th>INCIDENT REPORT DATE</th>
</tr>
</thead>
<tbody></tbody>
</table>
CSS
#tblCases tr.selectedRow{background-color: #56bff0;}
AJAX
$.ajax({
url: 'E****_L******_AjaxWS.asmx/GetRecentCases',
dataType: "json",
method: 'post',
success: function (data) {
var recentcasesTable = $('#tblCases tbody');
recentcasesTable.empty();
$(data).each(function (index, rcases) {
recentcasesTable.append('<tr><td>' + rcases.CASE_KEY + '</td><td>'
+ rcases.DEPARTMENT_CASE_NUMBER + '</td><td>' + rcases.DEPARTMENT_NAME + '</td><td>' + rcases.CHARGE
+ '</td><td>' + rcases.LAB_CASE + '</td><td>' + rcases.OFFENSE_DATE + '</td></tr>');
});
},
error: function (err) {
alert(err);
}
});
JQUERY(我的点击行选择,它只适用于静态表)
$('#tblCases tr').click(function () {
$('#tblCases tr').removeClass('selectedRow');
$(this).addClass('selectedRow');
})
解决方案
在追加新行之后,您应该在 ajax 成功回调中声明您的“单击”处理程序。这样您的新行也附加了单击处理程序。确保使用“off”删除以前的单击处理程序,以避免重复处理程序。
$.ajax({
url: 'E****_L******_AjaxWS.asmx/GetRecentCases',
dataType: "json",
method: 'post',
success: function (data) {
var recentcasesTable = $('#tblCases tbody');
recentcasesTable.empty();
$(data).each(function (index, rcases) {
recentcasesTable.append('<tr><td>' + rcases.CASE_KEY + '</td><td>'
+ rcases.DEPARTMENT_CASE_NUMBER + '</td><td>' + rcases.DEPARTMENT_NAME + '</td><td>' + rcases.CHARGE
+ '</td><td>' + rcases.LAB_CASE + '</td><td>' + rcases.OFFENSE_DATE + '</td></tr>');
});
$('#tblCases tr').off("click").on("click", function () {
$('#tblCases tr').removeClass('selectedRow');
$(this).addClass('selectedRow');
});
},
error: function (err) {
alert(err);
}
});
推荐阅读
- spring-boot - Spring Boot AMQP - 启动时的连接创建/队列声明
- html - 如何在多个 html 页面(或使用记事本++)中找到所有这种 UNICODE �?
- javascript - 来自 event.preventDefault() 和 event.stopPropagation() 的 Firebase 身份验证网络错误?
- doctrine - 如何构建动态学说查询?
- kotlin - mockK 不能区分每个语句中的类型
- mongodb - 如何根据mongodb聚合中数组内的另一个字段有条件地将值设置为父字段?
- java - MacOs Catalina 10.15.5 崩溃并且报告没有给出任何线索
- swift - 带有 SwiftUI 的 tvOS 上的 NavigationLink 按钮不起作用
- autodesk-forge - 如何从 Autodesk Forge Viewer 打开 PDF 的缓冲区数据
- multithreading - 哪些用例适合 Kotlin 中的 Dispatchers.Default?