重新加载可动态数据

May*_*sam 1 jquery jquery-plugins dynatable

我正在使用dynatable来启动我的桌子.这就是我使用它的方式:

function getData(obj) {
    $.getJSON("AjaxEngine/AddPayment.aspx", { sender: "seller-factor", id: 1 })
            .done(function (data) {

                var dynatable = $('#factors-table').dynatable({
                    dataset: {
                        records: data.Factors
                    },
                    features: {
                        paginate: false,
                        search: false,
                        recordCount: true,
                        perPageSelect: false
                    }

                })
                .bind('dynatable:afterProcess', bindSelectRow);
}
Run Code Online (Sandbox Code Playgroud)

getData()将被解雇的change()事件select.当用户第一次选择项目时,它可以正常工作,但是当所选项目更改时,它将不会加载新数据.几天前我在插件中问过,但没有回答.

我尝试了多种方法,比如这个:

function getData(){        
            $.getJSON("AjaxEngine/AddPayment.aspx", { sender: "seller-factor", id: 1 },
            function (data) {                
                var dynatable = $('#factors-table').data('dynatable');                
                dynatable.records.updateFromJson({records: data});
                dynatable.records.init();               
                dynatable.process();                
            });  

        }
Run Code Online (Sandbox Code Playgroud)

当我记录它是一个对象时,它说dynatable.records未定义dynatable的.我认为作为一个技巧,可以检查是否dynatable应用于表,如果是,先破坏它然后重新应用它,但我不知道该怎么做.

JSFiddle:http://jsfiddle.net/maysamsh/pDVvx/16/

May*_*sam 7

好吧,经过几个小时我用这段代码管理它:

$.getJSON("AjaxEngine/AddPayment.aspx", { 
    sender: "seller-factor", id: obj.val() }, 
    function (data) {
    var dynatable = $('#factors-table').dynatable({ 
    dataset: { records: data.Factors } }, 
    { features: { pushState: false }}).data("dynatable");
                        dynatable.settings.dataset.originalRecords =  data.Factors;
                        dynatable.process();  
});
Run Code Online (Sandbox Code Playgroud)