ajaxSubmit进入当前的jQuery选项卡

时间:2012-11-12 21:41:24

标签: ajax jquery-ui jquery

我知道如何获取索引,但这似乎不是我需要发布到标签本身。

这是一个延续,但不同的问题,来自我之前的帖子:Submiting jQuery form results back into dynamic tab

我的标签表单现在提交100%成功,我的jQuery验证内部,但我希望我的回复显示在它来自的标签中。

在我的jQuery验证结束时,我有:

 submitHandler: function(form) {

 var thisTab = $tabs.tabs('option', 'selected'); // what index are we?

 var options = {
     target: '#thisTab',

 };
 $(form).ajaxSubmit(options);
 return false;
 }

它很接近,但我正在做的实际上是抓取所选标签的索引,这似乎不是我需要ajaxSubmit发布的内容。

2 个答案:

答案 0 :(得分:0)

据我了解,您希望将目标设置为thisTab,但您将目标设置为jQuery选择字符串#thisTab

这意味着target是id为“thisTab”的元素。

From Jquery Form Plugin API

  

目标

     

使用。标识要更新的页面中的元素   服务器响应。可以将此值指定为jQuery选择   字符串,jQuery对象或DOM元素。默认值:null

因此,您应将thisTab设为目标。

更新:

主要问题是您尝试将标签设置为目标元素,您应将selectedPanel设置为目标。

 submitHandler: function(form) {

 var thisPanel = $tabs.tabs('option', 'selectedPanel'); // what index are we?

 var options = {
     target: thisPanel,

 };
 $(form).ajaxSubmit(options);
 return false;
 }

答案 1 :(得分:0)

嗯,也许我不清楚,我不解释它。

我想要的是update.cfm的输出显示在包含我刚更新的详细信息的相同动态选项卡主体中。我尝试了你的建议,当我点击提交时它所做的一切都是眨眼。它确实提交,我可以使用firebug来查看帖子和响应,但是没有显示响应。所以我确实希望将标签作为目标。

你所做的是向我展示一个我不知道的新术语“selectedPanel”,并引导我读到这篇我以前从未见过的帖子:How to get the selected tab panel element in Jquery UI Tabs?

这导致我做出以下改变:

 submitHandler: function(form) {

 var selectedPanel = $("#tabs div.ui-tabs-panel:not(.ui-tabs-hide)");

 var options = {
 target: selectedPanel

 };
 $(form).ajaxSubmit(options);
 return false;
 }