我的asp.net页面中有一个隐藏字段,它定义了一个值,我必须用它来显示或不显示弹出窗口:
<asp:HiddenField ID="hfNoShowPopup" ClientIDMode="Static" runat="server" />
生成:
<input type="hidden" name="ctl00$ContentMain$hfNoShowPopup" id="hfNoShowPopup" value="IN PROGRESS" />
在我的JQuery中,我有以下内容:
$(document).ready(function () {
//Enable after completing the form to show the pop-up
if ($("#hfNoShowPopup").val() != "COMPLETED" || $("#hfNoShowPopup").val() != "IN PROGRESS") {
centerPopupChoice();
loadPopupChoice();
alert("IN PROGRESS");
}
else {
alert("COMPLETED");
}
}
我想要完成的是,如果值为COMPLETED或IN PROGRESS不显示弹出并提示IN PROGRESS,否则显示弹出窗口并提示COMPLETED。
当我访问该页面时,虽然该值为“正在进行”,但我仍然显示弹出窗口。
我该如何解决?
当我有这个时:
if ($("#hfNoShowPopup").val() != "COMPLETED")
它运作良好。
答案 0 :(得分:2)
然后试试这个,
if ($("#hfNoShowPopup").val() != "COMPLETED" && $("#hfNoShowPopup").val() != "IN PROGRESS") {
centerPopupChoice();
loadPopupChoice();
alert("IN PROGRESS");
}
else {
alert("COMPLETED");
}
&&
符号会检查两个值是否为真。
如评论中所述,true || false == true
。这就是为什么你总是得到第一个警报框。
答案 1 :(得分:1)
只需替换||与&amp;&amp;否则你总是有真的
//Enable after completing the form to show the pop-up
if ($("#hfNoShowPopup").val() != "COMPLETED" && $("#hfNoShowPopup").val() != "IN PROGRESS") {
centerPopupChoice();
loadPopupChoice();
alert("IN PROGRESS");
}
else {
alert("COMPLETED");
}
你希望你的val与“COMPLETED”和“IN PROGRESS”不同,如果你保留OR条件,两个值都允许你进入。