簡體   English   中英

在循環中直接使用.text()

[英]Using .text() right in a for-loop

我正在創建一個包含約一百種不同輸入的表格,以進行填寫和計算。

我有一種方法可以手動完成它(見JS代碼)。 但是,當我添加大約100個輸入字段時,它並不是很好,因此我希望腳本為for循環中的所有計算自動設置.text。 但是我不知道如何將for循環與$(ABC).text(XYZ);一起使用$(ABC).text(XYZ); -我已經嘗試過$("#w+i+g").text(v+i); 但這沒用。

.text(v+i)似乎是問題所在。

 $(document).ready(function() { $("#wohnzimmer").keyup(function() { v0 = $("#w0").val() * 4; //$("#w0g").text(v0); //THATS THE MANUAL WAY I DID BEFORE v1 = $("#w1").val() * 4; //$("#w1g").text(v1); //THATS THE MANUAL WAY I DID BEFORE for (var i = 0; i <= 1; i++) { $("#w" + i + "g").text(v0); //THATS THE AUTOMATIC WAY I WANT TO DO - BUT HOW? .text(v+i+) DOESNT WORK }; vGes = v0 + v1; $("#wGes").text(vGes); }); }); 
 .text { margin: 5px; float: left; width: 200px; } .restText { margin: 5px; float: left; } .raumeinheitInput { width: 30px; } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script> <body> <form id="wohnzimmer"> <div> <div class="text"> Sofa, Couch, Liege je Sitz </div> <div class="restText"> <input id="w0" type="text" class="raumeinheitInput" value="0" /> * 4 = <span id="w0g"> kA </span> RE </div> </div> <div> <div class="text"> Couch L-Form </div> <div class="restText"> <input id="w1" type="text" class="raumeinheitInput" value="0" /> * 4 = <span id="w1g"> kA </span> RE </div> </div> <div class="text"> Raumeinheiten Gesamt: <span id="wGes"> kA </span> </div> </form> </body> 

希望您能理解我的問題,並且我敢肯定有一種我不知道的簡單方法:(

謝謝你的幫助!

$(".raumeinheitInput").each(function(){
  $("#"+ this.id + "g" ).text($(this).val() * 4);
});

無需將結果存儲在變量中。 只需遍歷輸入,然后獲取其id + g的元素,並設置其內容。 如果這些ID不相關,則二維表可能會這樣做:

 [["w0", "w0g"],
  ["w1", "w1g"],
  ["w2", "w2g"]
 ].forEach(([from,to])=> $("#"+from).text($(" #"+to).val() *4 ));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM