需要使用 mvc5 控制器在一个状态时间激活一个选项卡的 jQuery 选项卡限制
Posted
技术标签:
【中文标题】需要使用 mvc5 控制器在一个状态时间激活一个选项卡的 jQuery 选项卡限制【英文标题】:Need a jQuery tabs restrictions active one tab at one status time using mvc5 controller 【发布时间】:2021-06-11 18:31:42 【问题描述】:我在状态列中的数据库表中有 4 个状态,例如 1、2、3 和 4。 我需要 jQuery 选项卡或 javascript 选项卡和选项卡名称,例如 Tab A 、 Tab B 、 Tab C 和 Tab D。
假设控制器状态为 1,则选项卡 A 应处于活动状态,其他用户不应访问其他 3 个选项卡限制以不打开。
像状态 2 一样,标签 B 应该打开,其他限制打开并移动到其他标签。 与状态 3 然后是 Tab C 和状态 4 然后是 Tab D 和其他所有打开和访问限制相同。
这是我的静态 html 选项卡
<script>
$(function ()
$("#tabs").tabs();
$("#action").on("click", function () );
);
</script>
<div id="tabs">
<ul>
<li><a href="#tabs-A">tabs-A</a></li>
<li><a href="#tabs-B">tabs-B</a></li>
<li><a href="#tabs-C">tabs-C</a></li>
<li><a href="#tabs-D">tabs-D</a></li>
</ul>
<div id="tabs-A">
Tab A
</div>
<div id="tabs-B">
Tab B
</div>
<div id="tabs-C">
Tab C
</div>
<div id="tabs-D">
Tab D
</div>
</div>
下面是我的 MVC 控制器方法正在传递单个状态
public ActionResult getStatus()
MyDbContext _db = new MyDbContext();
//here i am passing status 1,2,3 and 4
【问题讨论】:
【参考方案1】:您可以在脚本标签上执行此操作: Check sample here via dotnetfiddle
$(function()
var statusList = [1,2,3,4]; --Make sure your tablist and this status array is aligned
var selectedStatusIndex = statusList.indexOf(@Model);
var activeIndex = 0;
if (selectedStatusIndex > -1)
activeIndex = selectedStatusIndex;
$("#tabs").tabs(
active: activeIndex,
disabled:true --disable all tabs
);
if (selectedStatusIndex === -1)
$("#tabs").tabs("enable"); --enable all tab
);
【讨论】:
可以解释控制器的完整代码。 @tontonsevilla 您的代码无法正常工作,您可以分享 jsfiddle。 @tontonsevilla @mohdmazharkhan,我更新了我的帖子。您可以查看链接。以上是关于需要使用 mvc5 控制器在一个状态时间激活一个选项卡的 jQuery 选项卡限制的主要内容,如果未能解决你的问题,请参考以下文章
C# mvc5使用mvc5 +bootstrap+EF6搭建一个权限管理系统的心得体会