Javascript 如果语句test=true但赢得';不执行?

Javascript 如果语句test=true但赢得';不执行?,javascript,jquery,Javascript,Jquery,在此单击处理程序代码中: $('#save').click(function () { if (overAllStatus == 'red') { rows[lastRowClicked].cells[0].innerHTML = '<a class="modalInput" rel="#flagsSummary" style="cursor:pointer"><img src="/FatcaOne_0/static/im

在此单击处理程序代码中:

$('#save').click(function () {
            if (overAllStatus == 'red') {
                rows[lastRowClicked].cells[0].innerHTML = '<a class="modalInput" rel="#flagsSummary" style="cursor:pointer"><img src="/FatcaOne_0/static/images/circleRed.png" width="20" height="20"></a>';
            }
            else if (overAllStatus == "yellow") {
                rows[lastRowClicked].cells[0].innerHTML = '<a class="modalInput" rel="#flagsSummary" style="cursor:pointer"><img src="/FatcaOne_0/static/images/circleYellow.png" width="20" height="20"></a>';
                console.log('Over all status is yellow.');
            }
            else if (overAllStatus == 'greenR') {
                rows[lastRowClicked].cells[0].innerHTML = '<a class="modalInput" rel="#flagsSummary" style="cursor:pointer"><img src="/FatcaOne_0/static/images/circleGreenHollow.png" width="20" height="20"></a>';
            }
            else if (overAllStatus == 'greenN') {
                rows[lastRowClicked].cells[0].innerHTML = '<a class="modalInput" rel="#flagsSummary" style="cursor:pointer"><img src="/FatcaOne_0/static/images/circleGreen.png" width="20" height="20"></a>';
            }
            comments = $('#comments').val();
            $("body").trigger(esc);
            $("#save1").trigger('click');
            redListSize = 0;
            yellowListSize = 0;
            console.log("save clicked");
        });

我只看到控制台中打印的“保存已单击”。测试条件下的代码似乎没有执行。我不明白为什么。

试试这个,用这个替换你的代码,看看“overAllStatus”在你的“click”回调中有什么值

$('#save').click(function () {
            console.log("overAllStatus", overAllStatus);  //use this to check the value of overAllStatus

            if (overAllStatus == 'red') {
                rows[lastRowClicked].cells[0].innerHTML = '<a class="modalInput" rel="#flagsSummary" style="cursor:pointer"><img src="/FatcaOne_0/static/images/circleRed.png" width="20" height="20"></a>';
            }
            else if (overAllStatus == "yellow") {
                rows[lastRowClicked].cells[0].innerHTML = '<a class="modalInput" rel="#flagsSummary" style="cursor:pointer"><img src="/FatcaOne_0/static/images/circleYellow.png" width="20" height="20"></a>';
                console.log('Over all status is yellow.');
            }
            else if (overAllStatus == 'greenR') {
                rows[lastRowClicked].cells[0].innerHTML = '<a class="modalInput" rel="#flagsSummary" style="cursor:pointer"><img src="/FatcaOne_0/static/images/circleGreenHollow.png" width="20" height="20"></a>';
            }
            else if (overAllStatus == 'greenN') {
                rows[lastRowClicked].cells[0].innerHTML = '<a class="modalInput" rel="#flagsSummary" style="cursor:pointer"><img src="/FatcaOne_0/static/images/circleGreen.png" width="20" height="20"></a>';
            }
            comments = $('#comments').val();
            $("body").trigger(esc);
            $("#save1").trigger('click');
            redListSize = 0;
            yellowListSize = 0;
            console.log("save clicked");
        });
$('#保存')。单击(函数(){
log(“overAllStatus”,overAllStatus);//使用它检查overAllStatus的值
如果(总体状态==‘红色’){
行[lastRowClicked]。单元格[0]。innerHTML='';
}
else if(整体状态==“黄色”){
行[lastRowClicked]。单元格[0]。innerHTML='';
log('总体状态为黄色');
}
else if(总体状态=='greenR'){
行[lastRowClicked]。单元格[0]。innerHTML='';
}
else if(总体状态=='greenN'){
行[lastRowClicked]。单元格[0]。innerHTML='';
}
comments=$('#comments').val();
$(“主体”)。触发器(esc);
$(“#save1”).trigger('click');
redListSize=0;
yellowListSize=0;
console.log(“单击保存”);
});

如果您使用的是jQuery,请更新问题的标签。而JSFIDLE在这里可能会有所帮助。控制台会为“overAllStatus=='red'”打印什么?如果它不执行,那么
overAllStatus
就不是
“黄色”
。在代码中放入一些
console.log()
调用,以便在代码运行时观察值。您可以使用“断点”停止代码并检查变量值!您什么时候测试overAllStatus的值?单击“保存”时,您很可能会有不同的overAllStatus值。这意味着“overAllStatus”中没有任何值,请搜索您的代码以查看定义它的位置。我怀疑您是否遗漏了变量声明前面的“var”?或“总体状态”未定义为全局变量。
$('#save').click(function () {
            console.log("overAllStatus", overAllStatus);  //use this to check the value of overAllStatus

            if (overAllStatus == 'red') {
                rows[lastRowClicked].cells[0].innerHTML = '<a class="modalInput" rel="#flagsSummary" style="cursor:pointer"><img src="/FatcaOne_0/static/images/circleRed.png" width="20" height="20"></a>';
            }
            else if (overAllStatus == "yellow") {
                rows[lastRowClicked].cells[0].innerHTML = '<a class="modalInput" rel="#flagsSummary" style="cursor:pointer"><img src="/FatcaOne_0/static/images/circleYellow.png" width="20" height="20"></a>';
                console.log('Over all status is yellow.');
            }
            else if (overAllStatus == 'greenR') {
                rows[lastRowClicked].cells[0].innerHTML = '<a class="modalInput" rel="#flagsSummary" style="cursor:pointer"><img src="/FatcaOne_0/static/images/circleGreenHollow.png" width="20" height="20"></a>';
            }
            else if (overAllStatus == 'greenN') {
                rows[lastRowClicked].cells[0].innerHTML = '<a class="modalInput" rel="#flagsSummary" style="cursor:pointer"><img src="/FatcaOne_0/static/images/circleGreen.png" width="20" height="20"></a>';
            }
            comments = $('#comments').val();
            $("body").trigger(esc);
            $("#save1").trigger('click');
            redListSize = 0;
            yellowListSize = 0;
            console.log("save clicked");
        });