我需要一些帮助来理解如何使用Datatables使每一行"可点击"......
服务器端,我正在使用Coldfusion来处理查询等.我在Datatables.net呈现的表中显示有关人员的信息.
在帮助页面说我应该使用DOM/jQuery的事件处理程序,如下所示:
$(document).ready(function() {
$('#example').dataTable();
$('#example tbody').on('click', 'tr', function () {
var name = $('td', this).eq(0).text();
alert( 'You clicked on '+name+'\'s row' );
} );
} );
Run Code Online (Sandbox Code Playgroud)
所以,这似乎是我想采取的路线,但我个人对jQuery的熟悉程度不足以促进我想做的事情......
而不是"警报",什么功能,方法或过程将允许我将我的行中的数据发送到新页面?
换句话说,如何获取所选行内的数据,并将其输出到新页面?
为您提供一个实际示例:1)服务台技术人员单击包含员工的行,2)包含在行中的所选员工的信息,并发送到新页面,如表单提交或URL变量... 3)存在重置密码或解锁帐户的选项.
我们非常感谢您的帮助,提前谢谢您.
我可以显示静态数据,data: ary并且成功地更新、删除、插入和过滤所述静态数据:
controller: {
loadData: function (filter) {
return $.grep(ary, function (obj, index) {
return
/* conditional logic for filtering here */
});
},
updateItem: function (item) {
//call custom framework function responsible for updating record
appName.doRequest("updateRecord");
},
insertItem: function (item) {
//call custom framework function responsible for inserting record
appName.doRequest("insertRecord");
},
deleteItem: function (item) {
//call custom framework function responsible for deleting record
appName.doRequest("deleteRecord");
},
},
Run Code Online (Sandbox Code Playgroud)
请注意,ary是一个全局变量。基本上,我可以ary通过我们的自定义框架随时更新;但是,它必须在 jsGrid 控制器之外,否则数组最终为空。
为什么我要叫负责填充阵列而功能之外的loadData() …
我不得不使用一些成功JSON_MODIFY追加fieldErrors: []及其内容到另一个对象的根{ data: []},这样的结果对象看起来是这样的: {data: [], fieldErrors: []}。
问题是,当我附加一个@variable 时,它包含一堆转义字符。
我期待这个: {"name":"PosTitle","status":"the field is messed up, yo"}
但是,我明白了: ["{\"name\":\"PosTitle\",\"status\":\"the field is messed up, yo\"}"]}
DECLARE
@fieldErrors nvarchar(max) ='{}'
,@jsonResponse nvarchar(max) = '
{
"data": [
{
"PosTitle": "",
"PosCode": "86753",
}
]
}
'
--define the fields that are bad
set @fieldErrors = JSON_MODIFY(JSON_MODIFY(@fieldErrors, '$.name', 'PosTitle'), '$.status', 'the field is messed up, yo')
print @fieldErrors
--RESULT, this looks great:
--{"name":"PosTitle","status":"the field is messed …Run Code Online (Sandbox Code Playgroud) 我正在努力理解 DataTables 文档,我正在寻找示例,但我只是不知道如何处理空值。
在 SQL 中,我将一个 JSON 字符串发送回我的 JS 应用程序。我发现我必须使用INCLUDE_NULL_VALUES——所以,我不再缺少 JSON 数组/对象中的任何内容。
这是我填充表格的方式。Myary是一个包含如下数据的对象数组:
ary = [{"Effective Date":"2001-07-01","Schedule":"UR-FUPA","Description":"High Up Dude","Calculated":"No","Base Schedule":"","Factor":null}, {...}, {...}]
$("#tblSomeTable").DataTable({
"data": ary,
"columns": [
{
"data": "Effective Date"
},
{
"data": "Schedule"
},
{
"data": "Description"
},
{
"data": "Calculated"
},
{
"data": "Base Schedule"
},
{
"data": "Factor"
}
],
"columnDefs": [{
"targets": _all,
"defaultContent": ""
}],
"paging": false,
"ordering": true,
"info": false,
"searching": false,
});
Run Code Online (Sandbox Code Playgroud)
那么,如果单元格没有数据,如何将默认内容设置为空字符串?
您可以在上面看到我尝试使用“defaultContent”选项来定位所有列,但这不起作用。
我一直很感激你的帮助。我不是要你做我的工作,我只需要一个我能理解的例子,以及你在正确方向上的指导。
这让我发疯,我不明白我的方法有什么问题。
我在 SQL 中生成一个 JSON 对象,如下所示:
select @output = (
select distinct lngEmpNo, txtFullName
from tblSecret
for json path, root('result'), include_null_values
)
Run Code Online (Sandbox Code Playgroud)
我得到这样的结果:
{"result":[{"lngEmpNo":696969,"txtFullName":"Clinton, Bill"}]}
Run Code Online (Sandbox Code Playgroud)
ISJSON()确认它是有效的 JSON,JSON_QUERY(@OUTPUT, '$.result')并将返回[]JSON 对象的数组部分......很酷!
但是,我正在尝试使用JSON_QUERY来提取特定值:
这给了我一个NULL价值。为什么??????? 我已经尝试过[0],没有[0],当然,txtFullName[0]
SELECT JSON_QUERY(@jsonResponse, '$.result[0].txtFullName');
Run Code Online (Sandbox Code Playgroud)
我以strict,为前缀,SELECT JSON_QUERY(@jsonResponse, 'strict $.result[0].txtFullName');它告诉我:
Msg 13607, Level 16, State 4, Line 29
JSON path is not properly formatted. Unexpected character 't' is found at
position 18. …Run Code Online (Sandbox Code Playgroud)