我有一个名为“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>
答案 0 :(得分:2)
我不确定,但我想我能看到问题所在。你的第二个函数 returnInvoicedItems()调用 loadTimeTrackersGrid(),它确实有一个jQuery代码(在行$('.menuBtn img').parent().children('ul').removeClass('menuShow');
中。现在,如果你有一个jQuery调用,你不必在 $(document).ready()中进行调用吗?
尝试在 $(document).ready()中移动 returnInvoicedItems(),看看会发生什么。
答案 1 :(得分:0)
这就像一个宝石:
$('#viewTimeTrackersGrid').flexOptions({ url: 'Utilities/DataViewHandlers/ViewTimeTrackers.ashx?' + invoicedUrl + '&NonInvoiced=1' }).flexReload();