2016-01-22 2 views
0

Я использую datatable editor с кнопками inTableControl. Кнопки inTableControl работают нормально, когда таблица находится в нормальном состоянии, но в сочетании с отзывчивой, и если кнопки inTableControl находятся в дочернем tr (при свертывании в выпадающем списке), образец js не работает. В модуле нет записей для редактирования. Кто-нибудь знает, как настроить js для кнопок inTableControl, чтобы они также работали, когда в дочернем tr? Я попробовал пару таких вещей, как .parent(). Prev ('parent'), .closest ('tr.child'). Prev ('tr.parent'), .closest ('tr'). Prev ('tr '), .parent(). prev (' tr ') .... но никто из них не работает. И мне нужен if для обоих статусов? Как это будет выглядеть?Кнопки 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 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

это потому, что 'ближайших («т.р.»)' возвращает '<тр класс =«ребенка»>' а не '<тр ID =«row_2812»класс =" нечетный выбранного родительского "role =" row ">'? Вы можете легко проверить это в Firebug. – markpsmith

+0

Да, это правильно. Но все мои попытки (см. Выше) получить идентификатор родительского tr не удалось. –

+0

Если 'tr' всегда имеет' class = 'нечетный выбранный родительский '', то вы можете использовать это, чтобы убедиться, что вы получаете правильный 'tr'. См. [Здесь] (http://stackoverflow.com/questions/6428375/get-row-with-classname) – markpsmith

ответ

0

I имеют аналогичную проблему. Но я решил это так

$('#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

Когда строка реагирует, а кнопка находится внутри скрытых данных, кнопки являются дочерними элементами td не из tr – migrodram

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