Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery ui jQuery选项卡-仅在单击时加载内容_Jquery Ui_Jquery_Tabs - Fatal编程技术网

Jquery ui jQuery选项卡-仅在单击时加载内容

Jquery ui jQuery选项卡-仅在单击时加载内容,jquery-ui,jquery,tabs,Jquery Ui,Jquery,Tabs,我对jQuery和web开发比较陌生 我正在使用jQuery UI选项卡创建选项卡 但我希望仅在选择特定选项卡时加载内容。UI/Tabs支持通过Ajax按需加载选项卡内容,请参见示例。通过Ajax加载内容增加了处理书签/浏览器后退按钮的复杂性。根据您的情况,您应该考虑用完整页面请求加载新内容。向后处理书签/浏览器涉及在URL中添加锚定信息 此外,请查看选项卡选择。它看起来非常漂亮。好的,我假设当用户单击选项卡时,您打算通过AJAX动态获取内容。这实际上涉及到两件事,甚至为选项卡设置onclick

我对jQuery和web开发比较陌生

我正在使用jQuery UI选项卡创建选项卡


但我希望仅在选择特定选项卡时加载内容。

UI/Tabs支持通过Ajax按需加载选项卡内容,请参见示例。

通过Ajax加载内容增加了处理书签/浏览器后退按钮的复杂性。根据您的情况,您应该考虑用完整页面请求加载新内容。向后处理书签/浏览器涉及在URL中添加锚定信息


此外,请查看选项卡选择。它看起来非常漂亮。

好的,我假设当用户单击选项卡时,您打算通过AJAX动态获取内容。这实际上涉及到两件事,甚至为选项卡设置onclick通过ajax获取数据

设置onclick事件

给你的标签上一个类,例如my_标签。假设当用户单击选项卡时,您希望启动handle\u tab\u click()函数。下面是一个将onclick事件绑定到my_选项卡的示例:

handle_tab_click()函数将获得一个事件参数,该参数能够为您提供触发事件的元素的信息(在本例中,是类名为my_tab的元素)

有关更多详细信息,请参阅JQuery事件文档

通过ajax获取数据

获取数据需要您在提供有关单击哪个选项卡的信息时调用远程脚本(以便获取适当的信息)。在下面的代码段中,我们将调用远程脚本myscript.php,提供HTTP GET argument tab_clicked=my_tab,并在脚本返回时调用函数tab_fetch_cb。最后一个参数是返回的数据类型(由您选择)

由您自行设计myscript.php来处理tab_clicked参数,获取适当的数据并返回(即将其写回客户端)

以下是tab_fetch_cb的示例:

您可以阅读更多关于jQueryGet函数和jQueryAjax函数的信息

很抱歉,我无法在我的示例中更具体地说明,但许多处理过程实际上取决于您的任务。正如已经指出的那样,您可以使用一些JQuery插件来寻找问题的固定解决方案。也就是说,学习如何使用JQuery手动完成这些工作并没有什么坏处


祝你好运。

默认情况下,选项卡小部件将在单击时在选项卡部分之间交换,但可以通过选项将事件更改为onHover。通过在选项卡上设置href,可以通过Ajax加载选项卡内容


来源:

如果您使用的是Rails,您可以试试这个gem


它支持ajax选项卡。

使用jQuery UI的选项卡插件更容易。请参阅下面CMS的评论。指向“lavalamp”的链接在我的virusscanner中发出了一条危险消息。该链接不再有效,请更新。该链接不再有效,请更新。
$(".my_tab").bind("click", handle_tab_click);
function (event) {
    if ($(event.target).hasClass("my_tab")) { /* handle tab click */ }
    if ($(event.target).hasClass("my_tab_2")) { /* a different tab click */ }
    if ($(event.target).hasClass("my_tab_3")) { /* ... */ }
}
$.get("myscript.php", {tab_clicked, "my_tab"}, tab_fetch_cb, "text/json/xml")
function tab_fetch_cb(data, status) {
    // populate your newly opened tab with information 
    // returned from myscript.php here
}