Nik*_*iya 1 .net javascript asp.net asp.net-ajax
我在转发器中有多个文本框,我将在运行时在这些文本框中输入值.我想要在一个label.i中的那些文本框中输入的所有值的总和.我想使用java脚本来做这件事.所以,请你帮助我.
这是一个让你入门的想法:
<div>一下你的身边Repeater,给它一个独特的id.document.getElementById()JavaScript中的函数来获取对它的引用<div>.getElementsByTagName()DOM元素中的函数查找其中的所有<input>内容.所以如果你的标记看起来像这样:
<div id="coolStuff">
<asp:Repeater ... >
</div>
Run Code Online (Sandbox Code Playgroud)
JavaScript看起来大致如下:
var container = document.getElementById("coolStuff");
var inputs = container.getElementsByTagName("input");
var sum = 0;
for (var i = 0; i < inputs.length; i++) {
sum += inputs[i].value;
}
alert(sum);
Run Code Online (Sandbox Code Playgroud)
现在,此代码不会检查以确保<input>s实际上是type=text或确认输入的值是数字.这些部分留给读者练习;)
编辑:如果您输出的每个"行"中有多个文本框,Repeater并且您只想对一个"组"框的值求和,则需要稍微更改一下脚本.以下是两种可能的解决方案 - 选择一种:
如果您确切知道<input>每个"行"中有多少元素,则可以for将客户端脚本中的循环更改为仅访问每个第N个元素.例如.只选择每行中三个字段的最后一个:for (var i = 2; i < inputs.length; i += 3)
更改标记以class在<input>元素上包含属性作为总和的一部分.在for循环内,进行测试inputs[i].className以验证是否要包含特定字段.
| 归档时间: |
|
| 查看次数: |
10717 次 |
| 最近记录: |