如何在MVC / Kendo UI选项卡上隐藏单个选项卡?

我想根据条件隐藏标签。我的jQuery代码如下所示:


        //authUser is a hidden input whose value is set in the controller and passed into the view

        if ($('#authUser').val() == 'False') //hide the last tab
        {
            $($("#tabstrip").data("kendoTabStrip").items()[6]).attr("style", "display:none");
        }

当我运行代码时,如果authUser为False,则在执行的代码行上出现以下错误:

JavaScript运行时错误:无法获取未定义或空引用的属性“items”

有想法吗?

最佳答案

“items”是未定义的事实意味着您永远不会首先适当地选择Tabstrip。您的CSS选择器错误(您确定将其命名为tabstrip吗?),或者未正确遵循Kendo方法名称。

我发现了隐藏最后一个标签的两种方法:

隐藏最后一个Tabstrip元素

var tabStrip = $("#tabstrip").kendoTabStrip().data("kendoTabStrip");
//Find the last tab item's index from the items list
var lastIndex = tabStrip.items().length - 1;
//Use jQuery's hide method on the element
$(tabStrip.items()[lastIndex]).hide();

使用Kendo的Tabstrip删除方法

我相信以下更合适。为什么不使用Tabstrip的remove方法并将其完全从DOM中删除,因为用户无论如何都无法访问?
var tabStrip = $("#tabstrip").kendoTabStrip().data("kendoTabStrip");
tabStrip.remove("li:last");

10-07 19:52