$(document).ready()加载flexigrid,但在其他函数再次调用$(document).ready()



i具有一个称为" 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放入返回的列中。

但是我遇到的问题在(文档).ready()之外,当我具有称为" loadTimetrackersgrid()"的函数时,它永远不会重新加载flexigrid或调用包含存储的文件的调用过程。

我的功能(我正在尝试上班)看起来像这样:

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

这就是我称为" returnInvoIcedItems"函数的方式:

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

我不确定,但我认为我可以看到问题。您的第二个函数 returnInvoIcedItems()调用 loadTimetrackersGrid(),它确实具有jQuery代码(在行$('.menuBtn img').parent().children('ul').removeClass('menuShow');中。您必须在 $(document)。

尝试移动 returnInvoIcedItems() $(document)内部。

这就像宝石一样:

 $('#viewTimeTrackersGrid').flexOptions({ url: 'Utilities/DataViewHandlers/ViewTimeTrackers.ashx?' + invoicedUrl + '&NonInvoiced=1' }).flexReload();

最新更新