FuelUX向导如何禁用特定步骤?

时间:2015-07-14 14:11:35

标签: javascript c# jquery wizard fuelux

在我的网络表单中,我使用的是fuelux向导(链接:http://getfuelux.com/javascript.html#wizard),我有不同角色的人来到此页面。我需要的是能够根据我在页面加载时获得的一些数据“禁用”向导的某些步骤。我相信它会与它的造型有关,但我没有运气找到我需要的东西。

例如,

我有步骤1-6,并说用户进入该页面。我将他识别为数据架构师,因此我需要禁用步骤4和6.我有一些特定的角色,我需要为每个角色禁用某些选项卡组合。

这可以通过调用一些javascript for fuel ux来完成,这取决于我在代码背后识别用户的角色吗?我需要对特定步骤进行哪些更改才能使用户无法访问它?

编辑:

以下是我的步骤:

    <ul class="steps">

            <li data-step="1" data-name="Documentation" class="active"><span class="badge">1</span>Documentation<span class="chevron"></span></li>
            <li data-step="2" data-name="Business"><span class="badge">2</span>Business<span class="chevron"></span></li>
            <li data-step="3" data-name="Application"><span class="badge">3</span>Application<span class="chevron"></span></li>
            <li data-step="4" data-name="Data"><span class="badge">4</span>Data<span class="chevron"></span></li>
            <li data-step="5" data-name="Infrastructure"><span class="badge">5</span>Infrastructure<span class="chevron"></span></li>
            <li data-step="6" data-name="Security"><span class="badge">6</span>Security<span class="chevron"></span></li>

     </ul>

我的问题是,有没有办法从后面的代码中禁用某些数据步骤?

1 个答案:

答案 0 :(得分:0)

我已经找到了一种方法,通过在我的代码中声明int数组,然后直接在我在javascript中初始化我的数组的地方访问它们。它看起来像这样:

代码背后:

//Check which steps to disable
            if (role.Contains("Data"))
            {
                disabledSteps = new int[] {5, 5};
            }
            else if (role.Contains("Infra"))
            {
                disabledSteps = new int[] {4, 5};
            }
            else if (role.Contains("Security"))
            {
                disabledSteps = new int[] { 4, 4 };
            }

然后,使用我在后面的代码中声明的javascriptserializer,javascript看起来像:

var disabledSteps = <%= serializer.Serialize(disabledSteps) %>;
        for(var i in disabledSteps){
            alert(disabledSteps[i]);
            $('#myWizard').wizard('removeSteps', disabledSteps[i], 1);
        }