0

我有一个名为“loadTimeTrackersGrid()”的函数,它加载一个 flexigrid。设置如下所示:

 $(document).ready(function () {
        var editTrackerID = 0;
        loadTimeTrackersGrid();
)};

函数的开头如下所示:

function loadTimeTrackersGrid(caseStatus) {
        var url = 'Utilities/DataViewHandlers/ViewTimeTrackers.ashx?CaseFileID=' + $('#hidCaseFile').val();

        if ($('#hidTaskID').val() !== "")
            url += '&TaskID=' + $('#hidTaskID').val();

        if (caseStatus == "NI") {
            url += '&NonInvoiced=1';
        }

        $('#viewTimeTrackersGrid').flexigrid({
            url: url,
            dataType: 'json',
            method: 'get',

如您所见,它调用另一个页面,其中包含一个存储过程,该过程返回一组行和一个 jsonwriter,然后将返回的列放入 flexigrid。

但是我遇到的问题在(document).ready()之外,当我有一个调用“loadTimeTrackersGrid()”的函数时,它永远不会重新加载flexigrid或调用包含存储过程的文件。

我的功能(我试图开始工作)看起来像这样:

        function returnInvoicedItems() {
            loadTimeTrackersGrid();
        $('.menuBtn img').parent().children('ul').removeClass('menuShow');
    }

这就是我调用“returnInvoicedItems”函数的方式:

<li><a href="#" onclick="returnInvoicedItems()">Non Invoiced Tracker</a></li>
4

2 回答 2

2

我不确定,但我想我可以看到问题所在。你的第二个函数returnInvoicedItems()调用loadTimeTrackersGrid(),它确实有一个 jQuery 代码(在行中$('.menuBtn img').parent().children('ul').removeClass('menuShow');。现在,如果你有一个 jQuery 调用,你不必在$(document).ready( ) ?

尝试将returnInvoicedItems()移动到$(document).ready()中,看看会发生什么。

于 2012-11-06T16:40:00.313 回答
0

这就像一个宝石:

 $('#viewTimeTrackersGrid').flexOptions({ url: 'Utilities/DataViewHandlers/ViewTimeTrackers.ashx?' + invoicedUrl + '&NonInvoiced=1' }).flexReload();
于 2012-11-12T16:18:51.757 回答