0

フレキシグリッドをロードする「loadTimeTrackersGrid()」という関数があります。セットアップは次のようになります。

 $(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 が返された列をフレキシグリッドに配置します。

しかし、私が抱えている問題は (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

よくわかりませんが、問題を見ることができると思います。loadTimeTrackersGrid()を呼び出す2 番目の関数returnInvoicedItems( )には、jQuery コードがあります (行に.今、jQuery 呼び出しがある場合は、 $(document).ready($('.menuBtn img').parent().children('ul').removeClass('menuShow');内でその呼び出しを行う必要はありません) ) ?

returnInvoicedItems() を$(document) .read()内に移動して、何が起こるかを確認してください。

于 2012-11-06T16:40:00.313 に答える
0

これは宝石のように機能します:

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