更改jtable(jquery)操作选项RUNTIME

时间:2014-10-07 08:59:04

标签: javascript jquery jquery-jtable

我需要更改jtable AFTER初始化的动作选项:

$('#tab-3').jtable({
            title: 'Documenti Allegati',
            paging: true, 
            pageSize: 10, 
            sorting: true, 
            defaultSorting: 'nomefile ASC', 
            actions: {
                listAction: 'action.php?action=getAllegatiByID&id='+id,
                deleteAction: 'action.php?action=delAllegatoByID&id='+id,
                updateAction: 'action.php?action=updateAllegatiById&id='+id,
                createAction:'temp'
                    },
            fields:{
                    ...
                    }
                   ...

我需要编辑createAction网址。 我试图在$ .hik.jtable.prototype.options中搜索,但我找不到它。

任何人都可以帮助我吗? 非常感谢

1 个答案:

答案 0 :(得分:2)

jtable操作采用url或函数,即来自http://jtable.org/Demo/FunctionsAsActions

           createAction: function (postData) {
                console.log("creating from custom function...");
                return $.Deferred(function ($dfd) {
                    $.ajax({
                        url: '/Demo/CreateStudent',
                        type: 'POST',
                        dataType: 'json',
                        data: postData,
                        success: function (data) {
                            $dfd.resolve(data);
                        },
                        error: function () {
                            $dfd.reject();
                        }
                    });
                });
            },

您可以编写自己的函数来返回:

function myFunc(dfd){
    return $.ajax({
                        url: myCustomUrlThatIwantToChangeDynamically,
                        type: 'POST',
                        dataType: 'json',
                        data: postData,
                        success: function (data) {
                            $dfd.resolve(data);
                        },
                        error: function () {
                            $dfd.reject();
                        }
                    });
}

所以行动可以变成:

createAction: function (postData) {
            console.log("creating from custom function...");
            return $.Deferred(myfunc($dfd););
        },

然后您可以在需要时更改您的网址,createAction将使用更新的网址。

只是一个建议。