Создание статической вложенной/дочерней таблицы с плагином jtable

Есть ли кто-нибудь, кто использовал плагин jtable и создавал статические вложенные таблицы внутри родительской таблицы? В этом коде селектор $("#Table TBODY tr td:first-child") не существует в момент загрузки дочерней таблицы, потому что он загружал ее содержимое перед загрузкой и созданием родительской #Table заполнитель для его дочернего элемента -> селектор $(#Table TBODY tr td:first-child). Пример в http://www.jtable.org/Demo/MasterChild отличается.

  function loadCaloriestable() {
        var d = $.Deferred();
        $('#Table').jtable({
            paging: true, //Enable paging
            pageSize: 5, //Set page size (default: 10)
            sorting: true, //Enable sorting
            defaultSorting: 'Name ASC', //Set default sorting
            actions: {
                listAction: '/MNR/Fun'
            },
            fields: {
                Total: {
                    title: 'Total',
                    width: '10%'
                },
                Goal: {
                    title: 'Goal',
                    width: '10%'
                },
                Remains: {
                    title: 'Remains',
                    width: '10%'
                },
                //-----------------
                //CHILD TABLE DEFINITION 
                Days: {
                    width: '30%',
                    sorting: false,
                    edit: false,
                    create: false,
                    display: function () {
                        $('#Table').jtable('openChildTable',
                                  $("#Table TBODY tr td:first-child"),
                                {
                                    title: 'Dayssss',
                                    defaultSorting: 'Name ASC', //Set default sorting
                                    actions: {
                                        listAction: '/Patient/Days'
                                    },
                                    fields: {
                                        Day1: {
                                            title: 'Daya',
                                            width: '18%'
                                        },
                                        Day2: {
                                            title: 'Dayy',
                                            width: '18%'
                                        }
                                    }
                                }
                                , function (data) { //opened handler
                                     data.childTable.jtable('load'); 
                                }
                                );
                    }
                }
                //---------------------
            }
        });
        $('#Table').jtable('load');
    }

person Ark    schedule 22.12.2013    source источник
comment
В чем именно ваша проблема?   -  person Nicolas R    schedule 10.01.2014


Ответы (1)


Вы не создали что-то для отображения в поле «Дни».

Days: {
width: '30%',
sorting: false,
edit: false,
create: false,
display: function (){
    var $img = $("<button title='View Days'></button>");
    $img.click(function(){
        $('#Table').jtable('openChildTable',$img.closest('tr'),{
            title: 'Dayssss',
            defaultSorting: 'Name ASC',
            actions:{
            listAction: '/Patient/Days'
            },
            fields: {
                Day1: {
                    title: 'Daya',
                    width: '18%'
                },
                Day2: {
                    title: 'Dayy',
                    width: '18%'
                }
            }
        },function (data) { //opened handler
            data.childTable.jtable('load'); 
        });
    });
    return $img; //<== Return $img to display in cell
}
}
person Fedy Venom    schedule 21.08.2014