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 次 |
最近记录: |