2015-06-24 4 views
1

У меня есть jquerydatatable с флажками в первой колонке. Для каждого флажка выберите/снимите флажок Я хочу обновить поле состояния соответствующей строки в базе данных. Я мог бы привязать обработчик события клика к флажкам. С каждым щелчком CheckBox, я хочуjquery datatable checkbox нажмите, чтобы выбрать строку

  1. знака в строку с checkedcheckbox по выбору.
  2. Получить данные строки, связанные с нажатием 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

Вы можете уточнить HTML код с примером этого, пожалуйста? –

ответ

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 
    { 

    } 
} 
+0

Спасибо. Я изменяю как: var clrow = $ ('#' + cbid) .closest ("tr"); var aData = table.fnGetData (clrow); alert (aData.prod_quantity); – Thara

+0

Я также хочу знать, могу ли я добавить класс стиля в переменную tr? – Thara

+0

ya мы можем добавить с помощью ** tr.addClass ("className") ** или * $ ('#' + cbid) .closest ("tr"). AddClass ("className") * – Balachandran

Смежные вопросы