我使用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