ajaxSubmit into current jQuery Tab
我知道如何获取索引,但这似乎不是我需要发布到选项卡本身。
这是一个延续,但不同的问题,从我之前的帖子:提交jQuery表单结果回到动态选项卡
我的标签表单现在提交100%成功,我的jQuery验证内部,但我希望我的回复显示在它来自的选项卡中。
在我的jQuery验证结束时,我有:
1 2 3 4 5 6 7 8 9 10 11 | submitHandler: function(form) { var thisTab = $tabs.tabs('option', 'selected'); // what index are we? var options = { target: '#thisTab', }; $(form).ajaxSubmit(options); return false; } |
它很接近,但我正在做的是抓住所选标签的索引,这似乎不是我需要ajaxSubmit发布的内容。
嗯,也许我不清楚,我不解释它。
我想要的是update.cfm的输出显示在相同的动态选项卡主体中,其中包含我刚刚更新的详细信息。我尝试了你的建议,当我点击提交时它所做的一切都是眨眼。它确实提交,我可以使用firebug来查看帖子和响应,但是没有显示响应。所以我确实希望选项卡作为目标。
然而你所做的是向我展示一个我不知道的新术语"selectedPanel",并引导我阅读之前没有见过的这篇文章:如何在Jquery UI选项卡中获取所选的选项卡面板元素?
这导致我做出以下改变:
1 2 3 4 5 6 7 8 9 10 11 | submitHandler: function(form) { var selectedPanel = $("#tabs div.ui-tabs-panel:not(.ui-tabs-hide)"); var options = { target: selectedPanel }; $(form).ajaxSubmit(options); return false; } |
据我所知,你想将目标设置为thisTab,但是你将目标设置为jQuery选择字符串
这意味着target是id为"thisTab"的元素。
来自Jquery Form Plugin API
target
Identifies the element(s) in the page to be updated with the
server response. This value may be specified as a jQuery selection
string, a jQuery object, or a DOM element. Default value: null
所以你应该将
更新:主要问题是您尝试将制表符设置为目标元素,您应将selectedPanel设置为目标。
1 2 3 4 5 6 7 8 9 10 11 | submitHandler: function(form) { var thisPanel = $tabs.tabs('option', 'selectedPanel'); // what index are we? var options = { target: thisPanel, }; $(form).ajaxSubmit(options); return false; } |