js取包含某字符串的id的值

luallen 2011-03-09 08:02:56
id=“asum0” value=‘1’
id=“asum1” value=‘2’
id=“asum2” value=‘3’
id=“asum3” value=‘4’
.




asum控件个数未知,怎么把带有字符串asum的id的value加起来


...全文
1241 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
woaimeng 2011-09-22
  • 打赏
  • 举报
回复
为什么卡看不到回复?
li1229363 2011-03-15
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 xiaosaner3 的回复:]

我一般都是这样解决的:

id=“asum0” value=‘1’ class='asum'
id=“asum1” value=‘2’ class='asum'
id=“asum2” value=‘3’ class='asum'
id=“asum3” value=‘4’ class='asum'


$('.asum').each(function(){ ... });
[/Quote]

请用1楼代码进行操作,简单方便的说
li1229363 2011-03-15
  • 打赏
  • 举报
回复
to 4楼,不要啥事儿都找JQ哎

而且,一楼的代码中并不存在你所说的问题,请认真查看代码后发言、

xiaosaner3 2011-03-15
  • 打赏
  • 举报
回复
我一般都是这样解决的:

id=“asum0” value=‘1’ class='asum'
id=“asum1” value=‘2’ class='asum'
id=“asum2” value=‘3’ class='asum'
id=“asum3” value=‘4’ class='asum'


$('.asum').each(function(){ ... });
kaifadi 2011-03-15
  • 打赏
  • 举报
回复
页面上的标签是未知的,但是你的需求肯定是已知的,你要获取什么特征的只要描述得清楚,肯定能获取的,12#的代码就是标准的获取方法,如果你有需求特征,描述清楚了后,只要把12#的代码修改一小部分就能获取到你所需要的或过滤不需要的!
kaifadi 2011-03-15
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 hch126163 的回复:]

楼主html 代码贴完!
你试了4,5楼的不行?
你页面标签是input 吗?
document.getElementById()
document.getElementsByTagName()

说简单点,就这2个函数 循环 判断 就可以了!

<div id='div_content'>
<input type="text" value="1" id="asum0" />……
[/Quote]
+++++++++++++++
我就是5#的,本来就是啊,依靠document.getElementById()和document.getElementsByTagName()来遍历未知的情况,其他细节上再进行过滤需要或不需要的!难道不是这样吗??晕了!
hch126163 2011-03-15
  • 打赏
  • 举报
回复
楼主html 代码贴完!
你试了4,5楼的不行?
你页面标签是input 吗?
document.getElementById()
document.getElementsByTagName()

说简单点,就这2个函数 循环 判断 就可以了!

<div id='div_content'>
<input type="text" value="1" id="asum0" />
<input type="text" value="2" id="asum1"/>
<input type="text" value="3" id="asum2"/>
<input type="text" value="4" id="asum3"/>

</div>
window.onload=function(){
var arr=[];
var inputs = document.getElementById("div_content").getElementsByTagName("input");
for(var i=0;i<inputs.length;i++)
{
if(inputs[i].id.indexOf("asum")==0){
arr.push(inputs[i].value);

}
}
alert(arr);
};
zell419 2011-03-15
  • 打赏
  • 举报
回复

jQuery(function($) {
var sum = 0;
var asum = $("input[id^='asum']");
asum.each(function(){
sum += parseFloat( $(this).val());
});
alert(sum);
});
zell419 2011-03-15
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 luallen 的回复:]

引用 7 楼 zell419 的回复:
如果是asum0,asum2,asum3。
用下4楼的 $("input[id^='asum']"),确实是好些 。
当然也可以自己写正则匹配 。
PS:4楼需要导入jquery库 。应该是可以的 。

jquery哪个函数或者属性 是取innerText的,$(this).text;????
[/Quote]
text();
luallen 2011-03-15
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 zell419 的回复:]
如果是asum0,asum2,asum3。
用下4楼的 $("input[id^='asum']"),确实是好些 。
当然也可以自己写正则匹配 。
PS:4楼需要导入jquery库 。应该是可以的 。
[/Quote]
jquery哪个函数或者属性 是取innerText的,$(this).text;????
luallen 2011-03-15
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 zell419 的回复:]
如果是asum0,asum2,asum3。
用下4楼的 $("input[id^='asum']"),确实是好些 。
当然也可以自己写正则匹配 。
PS:4楼需要导入jquery库 。应该是可以的 。
[/Quote]
4楼的sum总是0,只导入了jquery-1.3.2.min.js
zell419 2011-03-15
  • 打赏
  • 举报
回复
如果是asum0,asum2,asum3。
用下4楼的 $("input[id^='asum']"),确实是好些 。
当然也可以自己写正则匹配 。
PS:4楼需要导入jquery库 。应该是可以的 。
luallen 2011-03-15
  • 打赏
  • 举报
回复
1楼 2楼需求没理解,asum的个数未定,中间可能是缺几项,比如 asum0,asum2,asum3.

4楼,5楼是了不行,没有得到结果。
kaifadi 2011-03-09
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 calmcrime 的回复:]

HTML code

<html>
<head>
<title>Test</title>
<script type="text/javascript">//<![CDATA[
window.onload = function(){
var obj = document.getElementsByTa……
[/Quote]


在ASUM个数未知的情况,就只能通过ByTagName,这个对未知INPUT数量的时候用。为了防止和页面其他标签冲突,最好把他缩小到一个ID范围内!

var obj = document.getElementById('#id').document.getElementsByTagName("input");//红色某ID范围内遍历标签!
仲兴轩 2011-03-09
  • 打赏
  • 举报
回复
1楼的, 如果中间空了一个怎么办, 呵呵,
2楼的, 如果还有其它的input呢,

感觉用JQuery会好些, 当然如果ID前缀都一样, 并且其它地方的ID与此处的不相冲突.


var sum = 0;
var asum = $("input[id^='asum']");
$.each(function(){
sum += $(this).val();
});



wan
licip 2011-03-09
  • 打赏
  • 举报
回复
+1[Quote=引用 1 楼 knightzhuwei 的回复:]
JScript code

var val=0;
for(var i=0;;i++){
if(document.getElementById("asum"+i)){
val+=document.getElementById("asum"+i).value;
}else{
break;
}
}
[/Quote]
001007009 2011-03-09
  • 打赏
  • 举报
回复

<html>
<head>
<title>Test</title>
<script type="text/javascript">//<![CDATA[
window.onload = function(){
var obj = document.getElementsByTagName("input");
var iTotal = 0;
for(var i = 0; i < obj.length; i++){
iTotal += +obj[i].value;
}
alert(iTotal);
}
//]]></script>
</head>
<body>
<input type="text" value="1" />
<input type="text" value="2" />
<input type="text" value="3" />
<input type="text" value="4" />
</body>
</html>
knightzhuwei 2011-03-09
  • 打赏
  • 举报
回复

var val=0;
for(var i=0;;i++){
if(document.getElementById("asum"+i)){
val+=document.getElementById("asum"+i).value;
}else{
break;
}
}

87,917

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧