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代码(在行 尝试移动 returnInvoIcedItems()在 $(document)内部。 这就像宝石一样:$('.menuBtn img').parent().children('ul').removeClass('menuShow');
中。您必须在 $(document)。 $('#viewTimeTrackersGrid').flexOptions({ url: 'Utilities/DataViewHandlers/ViewTimeTrackers.ashx?' + invoicedUrl + '&NonInvoiced=1' }).flexReload();