繁体   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