.htmlの内容を、事前のalert動作有無次第で捉えられない、なんてことはありますか(JQuery)
皆様 いつも大変お世話になっております。
====質問====
Alert文の有無だけで、動作が変わってくる(配列の変数の内容が変わってくる?)ことなどあり得るか?あるとした場合、どういうケースで起こるか?
====詳細====
以下コーディングにあるdowntotalCalc関数が、初回に呼ばれた際のみ期待動作をしてくれません。
その関数内で、動作させたい根幹部分前に、Alert文を記載すると、無事根幹部分を通過します。しかしAlert文をコメントアウトすると、根幹部分を通過してくれません!!
Alert文自体は、現在生じている『初回だけ根幹部分を通過しない』要因を特定するためのものです。根幹部分に入る・入らないは、変数の値が設定されている・されてないの条件式で作用するようコーディングしています。
しかしAlert文の有無だけで現在動作が変わってきてしまっているので、配列の変数内容の設定がこれにリンクして行われているの?と疑ってしまった私です。
Table明細上のINPUT=数量枠に値が入ったら、同明細のラベル列にDBからの単価を表示(Ajax)、また別のラベル列には数量に単価を乗じ金額を表示。
Tableの末端部分には合計覧が存在するので、こちらに明細の金額総合計を表示したい、というのが狙いです。(これがされない)
元をたどれば、Ajaxで達成される明細中の単価取得に関連した動きなので、やはりこれが起因しているのでしょうか?setTimerとかで逃げられる事象なのでしょうか...
//数量のテキストボックスからフォーカスが外れたら
$("input[name=amount]").on("blur",function() {
//【省略】 Table明細上の数量枠(INPUT)に値が入ったら、横のラベルに金額を表示
//【問題の関数へ】上記動作(変化)と併せ、Table末端部分に、総合計を表示したい!!
downtotalCalc();
});
//問題の関数(実験中)
function downtotalCalc () {
var $totalp = $("label[name=totalp]");
console.log($totalp);
//$$ alert("###今夜が山田①###"); //【当該関数1回目の動作がこの行次第で変わってくる、下のFor文が通過しない】
//1行目は非表示になっているため指数[1]でループ開始
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("###今夜が山田③###");
}