我有一个名为"loadTimeTrackersGrid()“的函数,它加载一个FlexGrid.设置如下所示:
$(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中。
但我遇到的问题是在(文档).ready()之外,当我有一个调用"loadTimeTrackersGrid()“的函数时,它永远不会重新加载flexigrid,也不会调用包含存储过程的文件。
我的函数(我正在尝试开始工作)看起来像这样:
function returnInvoicedItems() {
loadTimeTrackersGrid();
$('.menuBtn img').parent().children('ul').removeClass('menuShow');
}这就是我调用"returnInvoicedItems“函数的方式:
<li><a href="#" onclick="returnInvoicedItems()">Non Invoiced Tracker</a></li>发布于 2012-11-13 00:18:52
这就像宝石一样工作:
$('#viewTimeTrackersGrid').flexOptions({ url: 'Utilities/DataViewHandlers/ViewTimeTrackers.ashx?' + invoicedUrl + '&NonInvoiced=1' }).flexReload();发布于 2012-11-07 00:40:00
我不确定,但我想我能看到问题所在。调用loadTimeTrackersGrid(),的第二个函数returnInvoicedItems()确实有一个jQuery代码(在$('.menuBtn img').parent().children('ul').removeClass('menuShow');行中。现在,如果您有一个jQuery调用,您不需要在$(document).ready()?中进行该调用吗
尝试在$(document).ready()中移动returnInvoicedItems(),看看会发生什么。
https://stackoverflow.com/questions/13254555
复制相似问题