2016-01-22 13 views
0

我正在使用帶有inTableControl按鈕的數據表編輯器。當表格處於正常狀態時,inTableControl按鈕可以正常工作,但與響應結合使用時,如果inTableControl按鈕位於子tr中(在下拉菜單中摺疊時),示例js不起作用。在模式中沒有要編輯的記錄。有誰知道如何調整inTableControl按鈕的js爲他們也可以在兒童tr時工作?我嘗試了幾個例如.parent()。prev('parent'),.closest('tr.child')。prev('tr.parent'),.closest('tr')。prev('tr '),.parent()。prev('tr')....但它們都不起作用。我需要一個如果兩個地位?那看起來怎麼樣?數據表編輯器的InTableControl按鈕在子tr時不工作(響應模式)

這工作得很好......

var edit_inTable_editor_bafin = $('#bafin').on('click', 'a.editor_cog', function (e) { 
    e.preventDefault(); 

    editor_bafin.edit($(this).closest('tr'), { 
     title: 'Edit record', 
     buttons: 'Update' 
    }); 

}); 

<tr id="row_2812" class="odd selected parent" role="row"> 
<td>Test</td> 
<td class=" datatable-link" style=""> 
    <a class="editor_cog" title="Edit Entity" role="button" href=""> 
</td> 
</tr> 

...但是當inTableControl按鈕兒童TR(響應的下拉菜單):

<tr id="row_2812" class="odd selected parent" role="row"> 
<tr class="child"> 
<td class="child" colspan="15"> 
    <ul data-dtr-index="0"> 
    <li data-dtr-index="11">...</li> 
    <li data-dtr-index="12">...</li> 
    <li data-dtr-index="13">...</li> 
    <span class="dtr-title"></span> 
    <span class="dtr-data"> 
    <a class="editor_cog" title="Edit Entity" role="button" href="">Edit</a> 
    </span> 
    </li> 
    </ul> 
</td> 
</tr> 

...

+0

是因爲'最接近( 'TR')'返回''而不是''?你可以很容易地檢查在Firebug。 – markpsmith

+0

是的,這是正確的。但是,我所有的嘗試(見上面)獲取父tr的id失敗。 –

+0

如果'tr'總是有'class =「奇怪的選擇父項'',那麼你可以使用它來確保你得到正確的'tr'。請參閱[這裏](http://stackoverflow.com/questions/6428375/get-row-with-classname) – markpsmith

回答

0

我有類似的問題。但我解決了它這種方式

$('#tb_sos tbody').on('click', 'input.aja', function() { 

     var tr=$(this).parents('tr'); 
     if ($(tr).hasClass("child")){ 
      var api = tablaSOS.tabla.row($(this).parents('tr').prev('tr')).data(); 
     }else{ 
      var api = tablaSOS.tabla.row($(this).parents('tr')).data(); 
     } 
     console.log(api); 

    }); 
+0

你可以解釋你的解決方案,而不是僅僅傾銷代碼,以便其他人可以從中學習? – Robert

+0

當行處於響應狀態,並且該按鈕位於隱藏數據中時,按鈕是不是tr的td的子項 – migrodram

相關問題