首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jquery选项卡和表单

Jquery选项卡和表单
EN

Stack Overflow用户
提问于 2010-04-28 21:29:28
回答 1查看 679关注 0票数 0

这可能是个奇怪的问题,但我不确定最好的办法。

我正在使用JQuery ajax选项卡。选项卡部分是动态的,因此可以添加多个选项卡,因为内容是通过Ajax加载的,相同的内容可以加载到不同的选项卡中。另一个重要的细节是,我正在使用Cache选项,以便选项卡保持状态。

现在,当加载了多个选项卡时,就会出现问题。看起来像表单和div这样的HTML项在DOM中复制了id,因此Ajax查询不能再区分元素。结果是,任何JavaScript/Ajax都会中断。

有谁有办法解决这样的问题吗?

提前谢谢..。

EN

回答 1

Stack Overflow用户

发布于 2010-04-28 21:34:45

当ajax调用进行并返回时,您可以在加载到选项卡之前获取HTML并修改新选项卡内容的id。这将允许您拥有如下的ID:

tab1input1

tab1input2

tab2input1

tab2input2

编辑的

http://jqueryui.com/demos/tabs/#ajax站点的演示中,这里的源代码显示了以下内容

代码语言:javascript
复制
    <script type="text/javascript">
     $(function() {
      $("#tabs").tabs({
       ajaxOptions: {
        error: function(xhr, status, index, anchor) {
         $(anchor.hash).html("Couldn't load this tab. We'll try to fix this as soon as possible. If this wouldn't be a demo.");
        }
       }
      });
     });
   </script>

您应该通知set,您可以使用tab控件设置特定的ajax选项。请参阅jquery文档中关于$.ajax的文档。另一个选项是成功,它允许您在ajax调用成功之后运行一个函数。

使用“成功”选项

代码语言:javascript
复制
success: function (data) {
  $("input", data).each( function () {
    $(this).id(yourtabid + this.id);  
    $(this).name(yourtabid + this.name);
  });
}

这应该是一个ajax调用,返回HTML并修改html中的输入in和名称,并将tabid附加到新数据中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2733272

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档