

皆様 いつも大変お世話になっております。  
====質問====  
Alert文の有無だけで、動作が変わってくる（配列の変数の内容が変わってくる？）ことなどあり得るか？あるとした場合、どういうケースで起こるか？

====詳細====  
以下コーディングにあるdowntotalCalc関数が、初回に呼ばれた際のみ期待動作をしてくれません。  
その関数内で、動作させたい根幹部分前に、Alert文を記載すると、無事根幹部分を通過します。しかしAlert文をコメントアウトすると、根幹部分を通過してくれません！！  
Alert文自体は、現在生じている『初回だけ根幹部分を通過しない』要因を特定するためのものです。根幹部分に入る・入らないは、変数の値が設定されている・されてないの条件式で作用するようコーディングしています。  
しかしAlert文の有無だけで現在動作が変わってきてしまっているので、配列の変数内容の設定がこれにリンクして行われているの？と疑ってしまった私です。

Table明細上のINPUT=数量枠に値が入ったら、同明細のラベル列にDBからの単価を表示（Ajax）、また別のラベル列には数量に単価を乗じ金額を表示。  
Tableの末端部分には合計覧が存在するので、こちらに明細の金額総合計を表示したい、というのが狙いです。（これがされない）

元をたどれば、Ajaxで達成される明細中の単価取得に関連した動きなので、やはりこれが起因しているのでしょうか？setTimerとかで逃げられる事象なのでしょうか．．．

[code]

    //数量のテキストボックスからフォーカスが外れたら
    $("input[name=amount]").on("blur",function() {
    
        //【省略】　Table明細上の数量枠(INPUT)に値が入ったら、横のラベルに金額を表示
    
        //【問題の関数へ】上記動作（変化）と併せ、Table末端部分に、総合計を表示したい！！ 
        downtotalCalc();
    });
    
    
    //問題の関数（実験中）
    function downtotalCalc () {
        var $totalp = $("label[name=totalp]");
    
        console.log($totalp);
    //$$    alert("###今夜が山田①###");  //【当該関数１回目の動作がこの行次第で変わってくる、下のFor文が通過しない】
        //１行目は非表示になっているため指数[１]でループ開始
        for (var i = 1; i < $totalp.length; i++) {
            if ($totalp.eq(i).html() != "" && $totalp.eq(i).html() != 0 && $totalp.eq(i).html() != "0") {
                alert("###今夜が山田② [" + i + "] ###");
            }
        }
        alert("###今夜が山田③###");
    }
    
[/code]


CC BY-SA 3.0
2017-11-02T04:20:06.877
39237
2017-11-02T07:03:09.683
25696
question
javascript jquery
.htmlの内容を、事前のalert動作有無次第で捉えられない、なんてことはありますか（JQuery）


コメントに自身で追記しましたが、Ajax利用後に関連した処理を実装する場合、その検知が必須であることをお二方の見解から気づくことができました。ありがとうございました。


CC BY-SA 3.0
2017-11-02T07:03:09.683
39247
2017-11-02T07:03:09.683
25696
39237
answer