2015-05-29 15 views
5

Bu, 1.10.x veri kümeleriyle ilgilidir.VeriTable'larda bir kimlik/ad belirleme sorunu 1.10.x

Ben alt satırları oluşturmak için this referansı kullanıyorum ve böyle, genereated oluyor javascript kodunun içinde HTML koymak kolaydır:

function format (d) { 
    return '<div class="slider">'+ 
    '<table id="expandInput" cellpadding="5" cellspacing="0" border="0" style="margin: 0 auto;">'+     
     '<tr>'+ 
      '<td class="dropHeader">Cost</td>'+ 
      '<td class="dropInfo"><input required type="text" id="cost" name="cost" value="'+d.cost+'"></input></td>'+     
     '</tr>'+      
    '</table>'+ 
    '</div>'; 
} 

Ama bu sadece içi Oluşturulan çocuk çocuk etkiler tıklayın. Verilerin kendi oluşturduğu hücreler için standart datatables sözdizimini kullanarak bir id veya name nasıl oluşturulacağını bilmiyorum. i datatables' web sitesinde bulmak mümkün tek örnek I here gösterildiği gibi, columnDefs kullanarak td bir sınıf ayarlayabilirsiniz bilmek sunucu tarafı

var table = $('#ltc-table').DataTable({  
    "data" : json,   
    "columns" : [ 
     { data : 'cost' }, 
     { data : 'resale' } 
    ], 
    "columnDefs": [ 
    { className: "details-control", "targets": [ 0 ] } 
    ] 
}); 

kullanarak id oluşturma ile ilgilidir, ama şekil olamaz ek ölçütler ekleme ve özgün bir her td için benzersiz bir id ve name ayarlamanız gerekir.

cevap

6

Tablo gövdesi için bir TR öğesi oluşturulduğunda geri arama tanımlamak için createdRow özelliğini kullanmanız gerekir.

$('#example').dataTable({ 
    "createdRow": function (row, data, index) { 
     $('td', row).eq(1).attr('id', 'td-' + index + '-1'); 
    } 
}); 

Kod $('td', row).eq(1) (ikinci bir hücre için 1) sıfır tabanlı dizini kullanarak tablo satır ikinci hücreyi seçmek için kullanılır. attr('id', 'td-' + index + '-1') kodu, id hücresinin ilk satırı için td-0-1 özniteliğini, ikinci satır için td-1-1 ve index sıfır tabanlı satır dizini olarak ayarlar.

Gösteri için bkz. this JSFiddle veya Row created callback example.

İlgili konular