Javascript jQueryUIAjax选项卡-第一个选项卡没有';t载荷
我使用jQuery选项卡动态加载AJAX计算结果。它工作正常,只是第一个(默认)选项卡没有点击服务器获取结果。。。它缓存最后一组计算中第一个选项卡的数据,如果这是会话的第一次运行,则为空。如何强制它从服务器加载默认选项卡 更多细节:我有一个jQuery对话框,基本上在服务器进行计算时显示正在加载的GIF。当结果作为JSON对象返回时,它检查计算是否成功,如果成功,则关闭加载对话框并打开结果对话框。第一个选项卡要么包含上次计算的旧结果,要么在对话框打开时第一次运行时为空。。。我知道它不会在第一个选项卡上点击服务器,因为当对话框弹出时,Firefox中的“Net”选项卡不会显示任何活动,但是如果我更改选项卡,然后返回到第一个选项卡,AJAX请求会显示在网络活动中。如果这很重要的话,我将使用Tomcat作为服务器 下面是代码。谢谢你的帮助 Javascript:Javascript jQueryUIAjax选项卡-第一个选项卡没有';t载荷,javascript,jquery,ajax,tabs,jquery-ui-tabs,Javascript,Jquery,Ajax,Tabs,Jquery Ui Tabs,我使用jQuery选项卡动态加载AJAX计算结果。它工作正常,只是第一个(默认)选项卡没有点击服务器获取结果。。。它缓存最后一组计算中第一个选项卡的数据,如果这是会话的第一次运行,则为空。如何强制它从服务器加载默认选项卡 更多细节:我有一个jQuery对话框,基本上在服务器进行计算时显示正在加载的GIF。当结果作为JSON对象返回时,它检查计算是否成功,如果成功,则关闭加载对话框并打开结果对话框。第一个选项卡要么包含上次计算的旧结果,要么在对话框打开时第一次运行时为空。。。我知道它不会在第一个选
$(document).ready(function () {
$("#loading-dialog").dialog({
autoOpen: false,
modal: true,
open: function() {
$.post("run", {
var1: whatever, ...
}).done(function(res) {
if( parseInt(res.status) === 0 ) {
$("#loading-dialog").dialog("close");
$("#results-dialog").dialog("open");
} else {
alert(res.msg);
}
}).fail(function(xhr, textStatus, errorThrown) {
alert('Error: '+xhr.responseText);
})
}
})
$("#results-dialog").dialog({
autoOpen: false,
width: 750,
open: function () {
$("#results-tab").tabs("load", 1); // try to force reloading first tab... doesn't work
},
buttons: {
"OK": function() {
$(this).dialog('close');
}
}
});
$( "#results-tabs" ).tabs({
beforeLoad: function( event, ui ) {
ui.jqXHR.error(function() {
ui.panel.html("Results go here.");
});
}
});
});
相关HTML位:
<div id="loading-dialog">
<center>Please wait, running model.
<img src="${pageContext.request.contextPath}/images/loading.gif"></center>
</div>
<div id="results-dialog">
<div id="results-tabs">
<ul>
<li><a href="result?type=one">Tab 1</a></li>
<li><a href="result?type=two">Tab 2</a></li>
<li><a href="result?type=three">Tab 3</a></li>
<li><a href="result?type=four">Tab 4</a></li>
<li><a href="result?type=five">Tab 5</a></li>
<li><a href="result?type=six">Tab 6</a></li>
</ul>
</div>
</div>
请稍候,正在运行模型。
加载第一个选项卡时,您的id错误(缺少一个s),并且jquery选项卡的索引为零,因此以下操作应该有效:
$("#results-dialog").dialog({
autoOpen: false,
width: 750,
open: function () {
$("#results-tabs").tabs("load", 0); // try to force reloading first tab... doesn't work
},
buttons: {
"OK": function() {
$(this).dialog('close');
}
}
});
我以为标签是零索引的?尝试
$(“#结果选项卡”)。选项卡(“加载”,0)代码>@mccannf将其更改为零,没有任何差异。。。我不确定该语句是否真的有任何作用……还有一件事——您缺少一个s:try$(“#results tabs”).tabs(“load”,0)代码>@mccannf ahhh。。。谢谢你发现了这个愚蠢的错误!添加答案以便我可以接受?