JQuery:通过输入元素循环

use*_*179 5 jquery loops

我有一排输入框(文本)需要迭代,将行中的值相乘,然后对产品求和.我能找到的唯一解决方案是将输入框转换为数组:

var array1 = $('input[id$="txtVal1"]').toArray();
var array2 = $('input[id$="txtVal2"]').toArray();
var temp1;
var temp2;
var sum=0;
Run Code Online (Sandbox Code Playgroud)

然后使用以下迭代和求和:

for (i = 0; i < array1.length; i++) {
    if (array1[i].value.length > 0) { //make sure we have data
        temp1 = parseFloat(array1[i].value);
        temp2 = parseFloat(array2[i].value);
        sum += temp1 * temp2;
    }
}
Run Code Online (Sandbox Code Playgroud)

这有效.但是我只是在学习JQuery并且想要使用规范方法.

Gun*_*Foo 9

你可以直接遍历通过选择器找到的所有项目,如下所示:

$('input').each(function(index,data) {
   var value = $(this).val();
});
Run Code Online (Sandbox Code Playgroud)


Den*_* O. 2

不需要使用toArray,使用.each()方法。

$('input[id$="txtVal1"]').each(function(index) { 
    // do something here
    $(this).addClass( "myClass" );
})
Run Code Online (Sandbox Code Playgroud)