Javascript 对jQuery中的文本框列表求和

Javascript 对jQuery中的文本框列表求和,javascript,jquery,Javascript,Jquery,我有一个表单,其中有使用jquery动态添加的文本框。 文本框ID形成为一个数组,即数量[0]、数量[1]、数量[2] 我想在这些文本框中添加数字,并在另一个名为“total_quantity”的文本框中显示值,最好在焦点移出数组文本框时显示 我怎么做?我不介意使用jQuery或纯javascript,这会更简单。我建议为数量字段提供一个公共类,以便: <input type="text" class="quantity" onblur="calculateTotal();" />

我有一个表单,其中有使用jquery动态添加的文本框。 文本框ID形成为一个数组,即数量[0]、数量[1]、数量[2]

我想在这些文本框中添加数字,并在另一个名为“total_quantity”的文本框中显示值,最好在焦点移出数组文本框时显示


我怎么做?我不介意使用jQuery或纯javascript,这会更简单。

我建议为数量字段提供一个公共类,以便:

<input type="text" class="quantity" onblur="calculateTotal();" />
每当焦点从数量字段转移时,
onblur
事件将触发。反过来,这将调用
calculateTotal()
函数



如果您不想添加公共类,可以使用
$(“输入[id^='Quantity['])
选择器,正如Felix在下面的评论中所建议的那样。这将匹配id以以下开头的所有文本框:
数量[

,如果不能使用document.getElementsByName(),因为一些MVC框架(如Struts和springmvc)使用文本的name属性将元素绑定到后端对象

var Total = 0;
$("input[id^='Quantity[']").each(function() { Total += $(this).val()|0; });
$("#total_quantity").val(Total);
function getInputTypesWithId(idValue) {
    var inputs = document.getElementsByTagName("input");
    var resultArray = new Array();

    for ( var i = 0; i < inputs.length; i++) {
        if(inputs[i].getAttribute("id") == idValue) {
            resultArray.push(inputs[i]);
        }
    }
    return resultArray;
}
函数getInputTypesWithId(idValue){ var inputs=document.getElementsByTagName(“输入”); var resultArray=新数组(); 对于(变量i=0;i如果我不想使用类,但id类似于item[0]\u Quantity,item[1]\u Quantity,有没有办法这样做?在这种情况下,我不能使用Start with,因为其他一些字段以相同的开头,例如:item[0]\u name
function getInputTypesWithId(idValue) {
    var inputs = document.getElementsByTagName("input");
    var resultArray = new Array();

    for ( var i = 0; i < inputs.length; i++) {
        if(inputs[i].getAttribute("id") == idValue) {
            resultArray.push(inputs[i]);
        }
    }
    return resultArray;
}