如果没有正常工作

时间:2017-10-18 06:00:21

标签: javascript processmaker

我在基于第三方网络的平台上构建基于表单的流程,初始表单已完成,并且有一些字段被隐藏,直到选择了通过下拉列表的选项。这个代码在下面,它可以工作。

 //Hide fields until number of banners is selected
$("#CWE_Pull1").hide();
$("#CWE_Pullup2").hide();
$("#CWE_Pullup3").hide();
$("#CWE_Pullup4").hide();


$("#CWE_PullUp").setOnchange( function(newVal, oldVal) {
if (newVal == "1") {
$("#CWE_Pull1").hide();
$("#CWE_Pullup2").hide();
$("#CWE_Pullup3").hide();
$("#CWE_Pullup4").hide();
}
else if (newVal == "2") {
$("#CWE_Pull1").show();
$("#CWE_Pullup2").hide();
$("#CWE_Pullup3").hide();
$("#CWE_Pullup4").hide();
}
else if (newVal == "3") {
$("#CWE_Pull1").show();
$("#CWE_Pullup2").show();
$("#CWE_Pullup3").hide();
$("#CWE_Pullup4").hide();
}
else if (newVal == "4") {
$("#CWE_Pull1").show();
$("#CWE_Pullup2").show();
$("#CWE_Pullup3").show();
$("#CWE_Pullup4").hide();
} else if (newVal == "5") {
$("#CWE_Pull1").show();
$("#CWE_Pullup2").show();
$("#CWE_Pullup3").show();
$("#CWE_Pullup4").show();
}
});

在第2步中,表单转到其他用户,我将字段标记为只读。我可以通过表单生成器GUI选择用户是否具有父,编辑,查看或禁用的字段访问权限,这是如何选择只读。

在只读副本的调试器中,我可以看到变量正在显示如下图所示的值,所以如果我尝试下面的If \ Else if语句没有任何反应。

$("#CWE_Pull1").hide();
$("#CWE_Pullup2").hide();
$("#CWE_Pullup3").hide();
$("#CWE_Pullup4").hide();


if ("#CWE_PullUp" == "2") {
    $("#CWE_Pull1").show();
    $("#CWE_Pullup2").hide();
    $("#CWE_Pullup3").hide();
    $("#CWE_Pullup4").hide();
    }
  else if ("#CWE_PullUp" == "3") {
    $("#CWE_Pull1").show();
    $("#CWE_Pullup2").show();
    $("#CWE_Pullup3").hide();
    $("#CWE_Pullup4").hide();
    }
else if ("#CWE_PullUp" =="4") {
    $("#CWE_Pull1").show();
    $("#CWE_Pullup2").show();
    $("#CWE_Pullup3").show();
    $("#CWE_Pullup4").hide();
    }
else if ("#CWE_PullUp" == "5") {
    $("#CWE_Pull1").show();
    $("#CWE_Pullup2").show();
    $("#CWE_Pullup3").show();
    $("#CWE_Pullup4").show();
    }
;

Variable Image

如果我在if \ else if语句之前没有隐藏4个字段,则字段全部被取消隐藏。我也尝试输出' CWE_PullUp'的值。到第二个变量,它没有下拉并使用它作为if \ else if语句的基础,但它也没有用。

3 个答案:

答案 0 :(得分:2)

"#CWE_PullUp" == "2"始终为false

如果您打算阅读其值,则应使用$("#CWE_PullUp").val()。所以比较应该是$("#CWE_PullUp").val() == "2"

答案 1 :(得分:1)

所以这就是解决方案:

if ($("#CWE_PullUp").getValue() === "2") {
    $("#CWE_Pull1").show();
}
else if ($("#CWE_PullUp").getValue() === "3") {
    $("#CWE_Pull1").show();
    $("#CWE_Pullup2").show();
}
else if ($("#CWE_PullUp").getValue() === "4") {
    $("#CWE_Pull1").show();
    $("#CWE_Pullup2").show();
    $("#CWE_Pullup3").show();
}
else if ($("#CWE_PullUp").getValue() === "5") {
    $("#CWE_Pull1").show();
    $("#CWE_Pullup2").show();
    $("#CWE_Pullup3").show();
    $("#CWE_Pullup4").show();
}

答案 2 :(得分:0)

我认为你的条件犯了错误......

"#CWE_PullUp" == "2"

此测试STRING #CWE_PullUp是否等于2

我认为你想要使用变量值:

CWE_PullUp == "2"