我在基于第三方网络的平台上构建基于表单的流程,初始表单已完成,并且有一些字段被隐藏,直到选择了通过下拉列表的选项。这个代码在下面,它可以工作。
//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();
}
;
如果我在if \ else if语句之前没有隐藏4个字段,则字段全部被取消隐藏。我也尝试输出' CWE_PullUp'的值。到第二个变量,它没有下拉并使用它作为if \ else if语句的基础,但它也没有用。
答案 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"