If Else 如果工作不正常
If Else if not working correctly
我正在第 3 方基于 Web 的平台中构建基于表单的流程,初始表单是完整的,并且有一些字段是隐藏的,直到 selected 下拉选项。此代码在下面并且有效。
//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 步中,表单转到不同的用户,我将字段标记为只读。我可以 select 如果用户通过表单生成器 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 语句的基础,但它也没有用。
"#CWE_PullUp" == "2"
总是 false
.
如果你打算读取它的值,你应该使用$("#CWE_PullUp").val()
。所以比较应该是$("#CWE_PullUp").val() == "2"
.
我认为你的条件有误...
"#CWE_PullUp" == "2"
这将测试字符串 #CWE_PullUp
是否等于 2
!
我认为您希望改用变量值:
CWE_PullUp == "2"
这就是解决方案:
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();
}
我正在第 3 方基于 Web 的平台中构建基于表单的流程,初始表单是完整的,并且有一些字段是隐藏的,直到 selected 下拉选项。此代码在下面并且有效。
//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 步中,表单转到不同的用户,我将字段标记为只读。我可以 select 如果用户通过表单生成器 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 语句的基础,但它也没有用。
"#CWE_PullUp" == "2"
总是 false
.
如果你打算读取它的值,你应该使用$("#CWE_PullUp").val()
。所以比较应该是$("#CWE_PullUp").val() == "2"
.
我认为你的条件有误...
"#CWE_PullUp" == "2"
这将测试字符串 #CWE_PullUp
是否等于 2
!
我认为您希望改用变量值:
CWE_PullUp == "2"
这就是解决方案:
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();
}