我的第一列中有jquery
datatable
个复选框。对于每个复选框,选择/取消选择我想更新数据库中相应行的状态字段。我可以将click事件处理程序附加到复选框。
点击每个复选框,我想
checked
checkbox
的行标记为已选中。checkbox
。到目前为止我所做的代码:
$('#newItemBasketTab').dataTable({
"fnDrawCallback": function( oSettings ) {
$('.ibchkclass').click(function()
{
updateItemBasket(this);
});
},
"aaData": result.itembasketdata,
"aoColumnDefs":
[
{"aTargets": [0],"width": "5%","sClass": "centre_class","mData": "item_basket_id",
"mRender": function ( data, type, full ){
var checkedStatus = '';
if(data != null) { checkedStatus = "checked"; }
return "<input type='checkbox' class=\"ibchkclass\" id=\"chk_" + full.id1 + "_" + full.id2 + "\" " + checkedStatus + ">";
}
},
{"aTargets": [1],"width": "35%","mData": "name"},
{"aTargets": [2],"width": "10%","sClass": "price_class", "mData": "prod_quantity"},
{"aTargets": [3],"width": "10%", "sClass": "price_class", "mData": "prod_value"}
]
});
function updateItemBasket(cb)
{
var cbid = cb.id;
if( $('#'+cbid).is(':checked') == true)
{
alert('true');
//Select respective row
//Get item_basket_id, prod_quantity and prod_value
}
else
{
}
}
感谢。
答案 0 :(得分:1)
使用 closest() $('#'+cbid).closest("tr");
,当使用最接近的功能选中复选框时,您可以获取当前的父级
function updateItemBasket(cb)
{
var cbid = cb.id;
if( $('#'+cbid).is(':checked') == true)
{
alert('true');
var tr=$('#'+cbid).closest("tr"); // get selected tr
//Select respective row
//Get item_basket_id, prod_quantity and prod_value
}
else
{
}
}