jquery -jtable- listAction从javascript函数获取对象

时间:2014-01-07 09:05:31

标签: html jquery-ui jquery jquery-jtable

listAction可能没有调用服务器函数使用AJAX,函数会调用返回对象的javascript函数吗?

$('#ExecActDelays').jtable({
actions: {
listAction://get object from javascript no call server method
},
///...

可以帮助我吗?

2 个答案:

答案 0 :(得分:1)

感谢 我通过编辑jquery.jtable.js

来解决我的问题

我的剧本:

function getObject(){
var result={};
result.Result="OK";
var array=[];
//...
{
array.push(new object...);
}
result.Records=array;
return result;
}

$('#ExecActDelays').jtable({
actions: {
listAction: getObject()
},

并在jquery.jtable.js中更改

 self._ajax({
                    url: loadUrl,
                    data: self._lastPostData,
                    success: function (data) {
                        self._hideBusy();

                        //Show the error message if server returns error
                        if (data.Result != 'OK') {
                            self._showError(data.Message);
                            return;
                        }

                        //Re-generate table rows
                        self._removeAllRows('reloading');
                        self._addRecordsToTable(data.Records);

                        self._onRecordsLoaded(data);

                        //Call complete callback
                        if (completeCallback) {
                            completeCallback();
                        }
                    },
                    error: function () {
                        self._hideBusy();
                        self._showError(self.options.messages.serverCommunicationError);
                    }
                });
            }

到:(第442行)

 if (typeof loadUrl == "string") {
                self._ajax({
                    url: loadUrl,
                data: self._lastPostData,
                success: function (data) {
                    self._hideBusy();

                    //Show the error message if server returns error
                    if (data.Result != 'OK') {
                        self._showError(data.Message);
                        return;
                    }

                    //Re-generate table rows
                    self._removeAllRows('reloading');
                    self._addRecordsToTable(data.Records);

                    self._onRecordsLoaded(data);

                    //Call complete callback
                    if (completeCallback) {
                        completeCallback();
                    }
                },
                error: function () {
                    self._hideBusy();
                    self._showError(self.options.messages.serverCommunicationError);
                }
            });
        }
        else {//no from server method
            self._hideBusy();

            //Re-generate table rows
            self._removeAllRows('reloading');
            self._addRecordsToTable(loadUrl.Records);

            self._onRecordsLoaded(loadUrl);

            //Call complete callback
            if (completeCallback) {
                completeCallback();
            }
        }

我的完整 my jquery.jtable.js

答案 1 :(得分:0)

尝试这样做

function foo(){
   return object;// JSON object
}

$('#ExecActDelays').jtable({
actions: {
listAction: foo()
},
///...

或者试试这个

var object = null;

function foo(){
   object = objectJSON;
}

$('#ExecActDelays').jtable({
actions: {
listAction: object
},
///...