需要使用 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 选项卡限制的主要内容,如果未能解决你的问题,请参考以下文章

如何根据当前状态值使单选按钮选中/激活

在部分视图 MVC5 之间传递视图模型

C# mvc5使用mvc5 +bootstrap+EF6搭建一个权限管理系统的心得体会

运行所选代码生成器时出错key already exists in table

什么是特定异常的正确 HTTP 状态代码答案

如何使所有部分仅激活一个单选按钮?