我使用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. 重定向後保留jquery選項卡
- 3. jquery選項卡asp.net留在選項卡後回發0x800a01b6
- 4. 使用javascript打開新選項卡,但保留在當前選項卡上
- 5. jquery ui選項卡在表單提交後留在選項卡
- 6. jquery選項卡 - 在當前選項卡中加載url?
- 7. Jquery選項卡在選項卡中加載當前網址
- 8. jQuery選項卡無法保留活動標籤,而回發
- 9. jQuery UI選項卡:獲取當前選項卡索引
- 10. jQuery選項卡 - 當前選項卡中的參考標籤?
- 11. 在使用jQuery提交表單之後保持當前選項卡
- 12. jQuery選項卡:打開新選項卡時發佈先前選定的選項卡
- 13. 在選項卡之間切換時保留選項卡內容
- 14. 如何在特定的選項卡上保留選項卡?
- 15. 在POST數據中保留選項卡
- 16. jquery回發,回發後保持相同的選項卡
- 17. 發佈數據JQuery UI選項卡1.10
- 18. 使用javascript打開新選項卡,但使用javascript保留在當前選項卡上
- 19. 無論如何在前面保留/粘貼「文件選項卡」
- 20. 如何保持頁面刷新後當前選項卡激活jquery
- 21. 如何在當前選項卡之後立即打開新選項卡?
- 22. 保留當前選中的項目在下拉列表中填充jquery ajax回發後?
- 23. 在JQuery UI選項卡的當前選項卡中打開鏈接
- 24. 在刷新後保留角2選項卡
- 25. 重新加載頁面後保留在正確的選項卡
- 26. 在選項卡內保留一個jQuery對話框
- 27. Jquery EasyUI選項卡布局
- 28. 在asp.net中的post操作後保留jquery選項卡的位置mvc
- 29. 如何在使用jquery/datatables排序後保留當前頁面?
- 30. TabHost在選項卡更改後獲取之前的選項卡
我怎樣才能實現這個我的代碼,請.. https://開頭計算器。com/q/48215218/4233410 – 2018-01-12 09:57:54