在页面加载时,我想动态显示所选标签。这样就可以显示正确的选项卡。我有以下代码:
<script type="text/javascript">
$(document).ready(function () {
var selectedTabId= $("#SelectedTab").val();
alert(selectedTabId);
$('#tabs').tabs(
{
cache: false,
beforeActivate: function (event, ui) {
selectedTabId = ui.newPanel.attr('id');
$("#SelectedTab").val(selectedTabId);
},
selected: selectedTabId
})
});
</script>
所选标签正确,在隐藏字段中设置
<input type="hidden" value="@Model.SelectedTab" id="SelectedTab" name="SelectedTab" />
我在stackoverflow上尝试了很多来自链接的选项,无法显示所选的选项卡。 Stackoverflow:selecting & loading a jquery tab programatically
Stackoverflow: Set Jquery ui active tab on page load/reload
$("#tabs").tabs('select', selectedTabId);
答案 0 :(得分:1)
selected
自1.9起已被弃用,现已替换为active
,请尝试:
在评论中发现,您需要指定标签的index
以选择不是ID :
$('#tabs').tabs(
{
cache: false,
beforeActivate: function (event, ui) {
selectedTabId = ui.newPanel.index();
$("#SelectedTab").val(selectedTabId);
},
active: selectedTabId
})
确保selectedTabId
是从零开始的索引。
答案 1 :(得分:0)
我让这个工作,不确定是否最好的方法。
$("#tabs").tabs(
{
active: $("#SelectedTabToFind").val(),
cache: false
});
我在控制器中设置了SelectedTabToFind的值。