我使用jQuery选项卡和ASP.NET列表视图来显示和编辑一些信息。我的问题是,当用户在一个列表视图项中插入一条新记录时,我的jQuery选项卡会返回到第一个选项卡。有没有一种方法可以跟踪我正在使用哪个标签,或者不让它在邮寄后休息?保留在当前jQuery选项卡跨后发布?
回答
在asp.net你可以在一个隐藏字段将其存储,而无需使用Cookie(不需要jQuery的饼干参考)。
使用此:
$(function() {
$("#tabs").tabs({
activate: function() {
var selectedTab = $('#tabs').tabs('option', 'active');
$("#<%= hdnSelectedTab.ClientID %>").val(selectedTab);
},
active: <%= hdnSelectedTab.Value %>
});
});
然后在身体里,声明你的隐藏选项卡字段:
<asp:HiddenField ID="hdnSelectedTab" runat="server" Value="0" />
基本上,在标签的选择要存储隐藏在ASP中选择标签值领域。然后显示你正在检索的价值。
仅供参考,在较新版本的jQuery UI中,'show' /'selected'不再适用。相反,使用'activate'和'active'。 – 2014-01-15 04:11:11
更好地用active:$(“#<%= hdnSelectedTab.ClientID%>”)。val()替换代码:active:<%= hdnSelectedTab.Value%>。否则在使用UpdatePanel时会遇到问题。 – ZooZ 2015-01-27 11:39:44
用'选项','活动'和使用活动:'(“#<%= hdnSelectedTab.ClientID%>”)。val(),如@ZooZ所述, 。 – 2015-06-12 14:27:11
jQuery cookie plugin(direct download)有built-in support。你这样使用它:
$("#tabs").tabs({
cookie: { expires: 7 } //1 week
});
这不同于保持跨回发,但它通常提供所需的效果。
你可以通过这样获得当前标签:
var selected = $tabs.tabs('option', 'selected');
然后,您可以这样选择选项卡(POST完成时):
$tabs.tabs('select', selected);
注意选项卡选择基于0的索引,因此选择2表示选择第三个选项卡。
我不是一个.NET家伙,但你可能会钩住表单的submit()事件,并使用表单数据将当前活动的选项卡发送到服务器。用这种方式,当你真正生成DOM和JS时,你可以简单地在服务器端选择适当的选项卡。
喜欢的东西...
$("#the_form").submit(function(){
var $form = $(this);
selected_tab_idx = $("#the_tabs").tabs("option", "selected");
$('<input />', {type: hidden, name: 'tab_index', value: selected_tab_idx}).appendTo($form);
return true;
});
使用jQuery和jQuery UI的新版本,这将是:
$(function() {
$("#tabs").tabs({
activate: function() {
var selectedTab = $('#tabs').tabs('option', 'active');
$("#<%= hdnSelectedTab.ClientID %>").val(selectedTab);
},
active: document.getElementById('<%= hdnSelectedTab.ClientID %>').value
});
});
的“选择”选项“活跃”取代...... Ofcourse你仍然需要添加隐藏字段:
<asp:HiddenField ID="hdnSelectedTab" runat="server" Value="0" />
<script type="text/javascript">
var selTab;
$(function() {
var tabs = $("#tabs").tabs({
show: function() {
//get the selected tab index
selTab = $('#tabs').tabs('option', 'selected');
}
});
});
function pageLoad(sender, args) {
if (args.get_isPartialLoad()) {
$("#tabs").tabs({show: function() {
//get the selected tab index on partial postback
selTab = $('#tabs').tabs('option', 'selected');
}, selected: selTab });
}
};
</script>
尝试这样的:
添加到页面:
<asp:HiddenField ID="hdnSelectedTab" runat="server" Value="0" />
添加到脚本:
$(function() {
var activeIndex = parseInt($get("hdnSelectedTab").value);
$("#tabs").tabs({
active: activeIndex,
activate: function (event, ui) {
$get("hdnSelectedTab").value = ui.newTab.index();
}
});
});
我认为使用$(“#<%= hdnSelectedTab.ClientID%>”)更好 – 2016-12-03 00:02:27
- 1. 即使在表单发布后仍保留JQuery UI选项卡选择
- 2. 使用javascript打开新选项卡,但保留在当前选项卡上
- 3. Jquery选项卡在选项卡中加载当前网址
- 4. jquery选项卡 - 在当前选项卡中加载url?
- 5. jQuery UI选项卡:获取当前选项卡索引
- 6. 在使用jQuery提交表单之后保持当前选项卡
- 7. jQuery选项卡:打开新选项卡时发布先前选定的选项卡
- 8. jquery回发,回发后保持相同的选项卡
- 9. 在POST数据中保留选项卡
- 10. 无论如何在前面保留/粘贴“文件选项卡”
- 11. 如何保持页面刷新后当前选项卡激活jquery
- 12. 在JQuery UI选项卡的当前选项卡中打开链接
- 13. 重新加载页面后保留在正确的选项卡
- 14. 在刷新后保留角2选项卡
- 15. 在选项卡内保留一个jQuery对话框
- 16. Jquery EasyUI选项卡布局
- 17. 在asp.net中的post操作后保留jquery选项卡的位置mvc
- 18. TabHost在选项卡更改后获取之前的选项卡
- 19. 发布前没有保留危险吗?
- 20. jQuery选项卡 - 使当前选项卡突出显示从单独的导航
- 21. 带有jQuery的CSS选项卡:仅显示当前选项卡的内容
- 22. 跨TableModel保留JTable选择
- 23. PHP提交后保留选择选项
- 24. JQuery UI选项卡获取以前选择的选项卡
- 25. jQuery选项卡 - 获取之前选定选项卡的索引
- 26. 在Netbeans中编辑html时将选项卡作为选项卡保留
- 27. 如何在不保留选项卡的选项卡之外设置根页面?
- 28. 从当前选项卡的标签中删除选项卡
- 29. 在意图调用tabactivity后更改当前选项卡
- 30. 在重定向页面后保留上次选择的选项卡
我怎样才能实现这个我的代码,请.. https://开头计算器。com/q/48215218/4233410 – 2018-01-12 09:57:54