【发布时间】:2011-04-18 03:26:33
【问题描述】:
我正在使用jquery.cookies 在刷新后保持选中标签。
我也希望在创建新标签后立即将其选中。
使用我目前拥有的 jQuery UI 指令:
var cookieName = 'stickyTab';
$(".tabs").tabs({
fx: {
opacity: 'toggle',
duration: 'fast'
},
selected: ( $.cookies.get( cookieName ) || 0 ),
select: function( e, ui )
{
$.cookies.set( cookieName, ui.index );
}
});
var $tabs = $('.tabs').tabs({
add: function(event, ui) {
$tabs.tabs('select', '#' + ui.panel.id);
}
});
不幸的是,这不起作用——当我创建一个新选项卡时,之前打开的选项卡仍然处于选中状态(可能是因为 cookie 覆盖了select 函数?
我的标签是通过 PHP POST 创建的,数据从数据库中检索并循环创建 LI 和 DIV 元素。 (即,我的标签不是直接从 JS 创建的)。
有人有解决此问题的建议吗?
谢谢!
【问题讨论】:
-
@khez - 我认为你的小提琴和我的情况之间的区别在于我没有通过 JS 添加选项卡 - 我的新选项卡是从 POST 使用新数据创建的服务器端,然后从收集数据库,然后通过循环运行以形成
lis和divs -
然后考虑用 PHP/ASP 标记您的问题,或者至少在您的帖子中提及这一点。你是如何添加标签的?
-
抱歉,修复了 OP - 我通过提供将数据保存到 DB 的 PHP 表单来添加选项卡 - 然后查询生成一个数组,该数组使用 foreach 循环填充选项卡中的字段跨度>
-
我仍在努力掌握您的情况,您是通过 AJAX 构建新选项卡并只是将响应添加到选项卡吗?还是在添加新标签时刷新页面?
标签: php javascript jquery jquery-ui cookies