JQuery jTable 在 table 个单元格上设置参数
JQuery jTable set parameters on table cells
是否可以在 jTable 的 table 单元格上设置参数,像这样?
<td data-iuser_key=9499949 data-cuser_lnm='testing' class=userdata>
</td>
我知道如何在内部元素上设置参数,但我不知道如何在 table 单元格上设置参数。对于内部元素,像这样:
input: function (data) {
if (data.record) {
return '<input type="text" name="Name" style="width:200px" value="' + data.record.Name + '" />';
} else {
return '<input type="text" name="Name" style="width:200px" value="enter your name here" />';
}
我的代码:
$('#tblOffers').jtable({
title: 'Offers',
paging: true,
pageSize: 20,
sorting: true,
defaultSorting: 'cORAC_NUM DESC',
actions: {
listAction: "/SalesOfferInvoiceDeliveryNote/SearchOffers/"
},
fields: {
cORAC_NUM: {
key: true,
title: 'ORAC number'
},
cORAC_DAT: {
title: 'Date'
},
cACCO_NME: {
title: 'Customer'
},
ORAC_GRO_SUM: {
title: 'Paying'
}
}
});
您的代码显示的是字段输入函数,而不是字段显示函数。输入函数在 create/edit 表单中使用,从不出现在 table 本身中,因此您必须使用显示函数。您的问题出现是因为在创建显示功能时,您要操作的 td
在 DOM.
中尚不存在
除了显示功能外,还有字段选项listClass,它会将class添加到包含的td
。
您当然可以使用显示功能,在显示内容周围创建一个 div
包装器,您可以将 'parameters' 添加到 div
.
这样的字段定义如
rockBand: {
listClass: 'rockNroll',
display: function (data) {
var div = $('<div />')
.attr('data-iuser_key',9499949)
.attr('data-cuser_lnm','testing');
div.append(data.record.rockBand);
return div;
}
}
应该生成 DOM 喜欢
<td class='rockNroll'>
<div data-iuser_key=9499949 data-cuser_lnm='testing'>
The rolling Stones
</div>
</td>
我原以为构造 jQuery 选择器可以像 td
一样容易地找到 td.rockNroll > div
组合。您还没有解释为什么需要向 'td' 本身添加参数。如果你绝对必须在 td
元素本身上有 'parameters',你总是可以使用 jTable recordsLoaded
事件,返回刚刚构造的 table,并提升div
元素上的参数传递给父 td
元素。
是否可以在 jTable 的 table 单元格上设置参数,像这样?
<td data-iuser_key=9499949 data-cuser_lnm='testing' class=userdata>
</td>
我知道如何在内部元素上设置参数,但我不知道如何在 table 单元格上设置参数。对于内部元素,像这样:
input: function (data) {
if (data.record) {
return '<input type="text" name="Name" style="width:200px" value="' + data.record.Name + '" />';
} else {
return '<input type="text" name="Name" style="width:200px" value="enter your name here" />';
}
我的代码:
$('#tblOffers').jtable({
title: 'Offers',
paging: true,
pageSize: 20,
sorting: true,
defaultSorting: 'cORAC_NUM DESC',
actions: {
listAction: "/SalesOfferInvoiceDeliveryNote/SearchOffers/"
},
fields: {
cORAC_NUM: {
key: true,
title: 'ORAC number'
},
cORAC_DAT: {
title: 'Date'
},
cACCO_NME: {
title: 'Customer'
},
ORAC_GRO_SUM: {
title: 'Paying'
}
}
});
您的代码显示的是字段输入函数,而不是字段显示函数。输入函数在 create/edit 表单中使用,从不出现在 table 本身中,因此您必须使用显示函数。您的问题出现是因为在创建显示功能时,您要操作的 td
在 DOM.
除了显示功能外,还有字段选项listClass,它会将class添加到包含的td
。
您当然可以使用显示功能,在显示内容周围创建一个 div
包装器,您可以将 'parameters' 添加到 div
.
这样的字段定义如
rockBand: {
listClass: 'rockNroll',
display: function (data) {
var div = $('<div />')
.attr('data-iuser_key',9499949)
.attr('data-cuser_lnm','testing');
div.append(data.record.rockBand);
return div;
}
}
应该生成 DOM 喜欢
<td class='rockNroll'>
<div data-iuser_key=9499949 data-cuser_lnm='testing'>
The rolling Stones
</div>
</td>
我原以为构造 jQuery 选择器可以像 td
一样容易地找到 td.rockNroll > div
组合。您还没有解释为什么需要向 'td' 本身添加参数。如果你绝对必须在 td
元素本身上有 'parameters',你总是可以使用 jTable recordsLoaded
事件,返回刚刚构造的 table,并提升div
元素上的参数传递给父 td
元素。