无法选择数据表中的行
Unable to select rows in dataTable
背景信息:
我有两个HTML表格。 表"selected_users"表示用户选择的记录,"用户"是可用用户的列表。"Users"是一个jquery dataTable。
当最终用户单击"用户"的记录时,需要发生一些事情:
- 突出显示刚刚在数据表"用户"中选择的行。
- 将行数据复制到"selected_users"
- 在"用户"中搜索具有匹配"pnumber"的任何其他行。
- 对于所有匹配的行,将行数据复制到"selected_users"。
- 突出显示数据表中的这些匹配行。
什么不起作用
除步骤 5 之外的所有内容都在工作。 具有匹配 pnumber 的其他行不会在数据表中突出显示。 如果您查看代码,您将看到我测试了"selected[]"js 数组的长度以确保大小增加......确实如此。它只是在 GUI 上,该行没有突出显示。
法典:
$(document).ready(function() {
var selected = [];
$('#users tbody').on('click', 'tr', function () {
var id = this.id;
var tr;
tr=$('<tr/>');
var index = $.inArray(id, selected);
if ( index === -1 ) {
selected.push( id ); //select/highlight in list of available users.
// Find td's inside this tr and add to selected_users table
var tds = $(this).find('td');
tr.append("<td>" + tds.eq(0).text() + "</td>");
tr.append("<td>" + tds.eq(1).text() + "</td>");
tr.append("<td>" + tds.eq(2).text() + "</td>");
tr.append("<td>" + tds.eq(3).text() + "</td>");
tr.attr('id', id.substring(4));
$('#selected_users').append(tr);
//test start - find and add all other rows with matching pnumber
var thisTR = $(this);
thisTR.siblings().filter(function() {
if ($('td',this).eq(2).text() == $('td', thisTR).eq(2).text() ) {
add_to_selected_users($(this));
if (($.inArray(temp, selected)) === -1) {
alert('need to highlight:' + this.id);
selected.push(this.id);
alert(selected.length);
};
};
//test stop
});
} else {
selected.splice( index, 1 ); //deselect from list of avail users
//remove matching record from selected_users table.
var record_id = id.substring(4);
var rowtodelete = document.getElementById(record_id);
rowtodelete.parentNode.removeChild(rowtodelete);
}
$(this).toggleClass('selected');
} ); //end function
} ); //end document ready
我敢肯定这是我错过的简单事情。任何建议将不胜感激。
我改变了这个:
if (($.inArray(temp, selected)) === -1) {
alert('need to highlight:' + this.id);
selected.push(this.id);
alert(selected.length);
};
对此:
if (($.inArray(this.id, selected)) === -1) {
selected.push(this.id);
$(this).toggleClass('selected');
};
相关文章:
- DT数据表背景颜色为黑色,但仍有悬停和选择颜色
- 允许为显示的每个数据表选择一行
- 行上的Primefaces数据表选择javascript回调
- Jquery 数据表选择位于第 1 页以外的其他页上的行
- 在 HTML 表中下拉,并在 javascript 中的表数据中选择值
- jquery数据表显示/隐藏列添加了错误的选择
- 数据表复制,只保存单个多重筛选选择的选定行
- 数据表选择“第一行加载”
- 从数据表中选择一行以显示单选按钮值
- 使用 Json 数据源在数据表中实现复选框选择
- JQuery 数据表在输入和选择中搜索
- 自动选择 JSF 数据表中的 H:复选框
- 检查 jQuery 数据表中预先选择的行
- 数据表多项选择
- 单个列搜索(选择输入)在 Shiny 中呈现数据表()
- 取消选择数据表中的所有选定行
- Codeigniter/jQuery:将值从选择下拉列表提取到数据表中时出现问题
- 使用 JavaScript 在数据表 (MVC 3) 中进行选择列表过滤
- 选择 JSON 对象数据表元素以列出其所有元素
- jquery数据表选择不起作用