如何在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");