在我的网络表单中,我使用的是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>
我的问题是,有没有办法从后面的代码中禁用某些数据步骤?
答案 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);
}