Javascript 如果该语句为false,则不执行If语句
我有一堆if语句,如果其中任何一个是真的,就会创建一张卡片并用HTML显示,问题是当最上面的if语句是假的时候,其余的就不会执行Javascript 如果该语句为false,则不执行If语句,javascript,php,Javascript,Php,我有一堆if语句,如果其中任何一个是真的,就会创建一张卡片并用HTML显示,问题是当最上面的if语句是假的时候,其余的就不会执行 if (pr) { createViewCard('Purchase Requisition', 'veiwpr'); } if (pc) { createViewCard('Petty Cash', 'veiwpc'); } if (cpr) { crea
if (pr) {
createViewCard('Purchase Requisition', 'veiwpr');
}
if (pc) {
createViewCard('Petty Cash', 'veiwpc');
}
if (cpr) {
createViewCard('Cheque/Payment Requisition', 'veiwcpr');
}
if (ba) {
createViewCard('Business Advance Form', 'veiwba');
}
if (cqc) {
createViewCard('Comparison Quotation Chart', 'veiwcqc');
}
如果值是从PHP获得的,如果表中存在值,我将相应的Javascript变量设置为true:
$cr_SQL = "SELECT * FROM created_requests WHERE request_id='$rID'";
$cr_results = mysqli_query($dbcon, $cr_SQL);
while ($row = mysqli_fetch_array($cr_results)) {
if ($row['name'] == "pr_created") {
echo "<script>";
echo "var pr = true;";
echo "</script>";
echo $row['name'];
}
if ($row['name'] == "ba_created") {
echo "<script>";
echo "var ba = true;";
echo "</script>";
echo $row['name'];
}
if ($row['name'] == "cpr_created") {
echo "<script>";
echo "var cpr = true;";
echo "</script>";
echo $row['name'];
}
if ($row['name'] == "cqc_created") {
echo "<script>";
echo "var cqc = true;";
echo "</script>";
echo $row['name'];
}
if ($row['name'] == "pc_created") {
echo "<script>";
echo "var pc = true;";
echo "</script>";
echo $row['name'];
}
}
$cr\u SQL=“从已创建的请求中选择*,其中请求id=“$rID”;
$cr_results=mysqli_查询($dbcon,$cr_SQL);
while($row=mysqli\u fetch\u数组($cr\u results)){
如果($row['name']==“pr_created”){
回声“;
echo“var pr=true;”;
回声“;
echo$row['name'];
}
如果($row['name']==“ba_created”){
回声“;
echo“var ba=true;”;
回声“;
echo$row['name'];
}
如果($row['name']==“cpr_已创建”){
回声“;
echo“var cpr=true;”;
回声“;
echo$row['name'];
}
如果($row['name']==“cqc_已创建”){
回声“;
echo“var cqc=true;”;
回声“;
echo$row['name'];
}
如果($row['name']==“pc_已创建”){
回声“;
echo“var pc=true;”;
回声“;
echo$row['name'];
}
}
像这样做可以解决问题
<?php
while ($row = mysqli_fetch_array($cr_results)) {
if ($row['name'] == "pr_created") {
echo "createViewCard('Purchase Requisition', 'veiwpr');";
}
if ($row['name'] == "ba_created") {
echo "createViewCard('Business Advance Form', 'veiwba');";
}
if ($row['name'] == "cpr_created") {
echo "createViewCard('Cheque/Payment Requisition', 'veiwcpr');";
}
if ($row['name'] == "cqc_created") {
echo "createViewCard('Comparison Quotation Chart', 'veiwcqc');";
}
if ($row['name'] == "pc_created") {
echo "createViewCard('Petty Cash', 'veiwpc');";
}
}
?>
我不认为你所描述的是事实上的hepening。显示问题的一部分,因为在您显示的代码中,后面的if仍然会被检查,即使前面的if为true。要么是发生了其他事情,要么是您正在检查的变量实际上不是真的。@Carcigenicate同意,所有的if语句都将在这种情况下运行,因此这显然不是问题所在。不完全相关,但很有用:从您的代码来看,我们没有办法帮助您。但是如果
,请尝试顶部的控制台中的日志(pr)
,您将看到是什么触发了它成为true
。您可以调试并检查pr
的确切内容,如果出现这种情况,可能是某个空间的BCO,但它没有执行