Jquery 如何在多个文本框字段上捕获onchange事件
HTML代码:Jquery 如何在多个文本框字段上捕获onchange事件,jquery,Jquery,HTML代码: <input type="text" name="percentage[]" value="1"/> <input type="text" name="percentage[]" value="2"/> <input type="text" name="percentage[]" value="3"/> 我希望能够在任何“百分比”文本字段更改时使用JQuery捕获更改事件,并找到所有这些字段的总和。因此,如果第一个字段的值从1变为5,我希
<input type="text" name="percentage[]" value="1"/>
<input type="text" name="percentage[]" value="2"/>
<input type="text" name="percentage[]" value="3"/>
我希望能够在任何“百分比”文本字段更改时使用JQuery捕获更改事件,并找到所有这些字段的总和。因此,如果第一个字段的值从1变为5,我希望能够显示“10”。假设您有另一个元素来显示总和,并且没有其他输入元素,这将起作用:
$("input[type=text]").change(function() {
// Clear the sum
$("#sum").text("0");
// Sum the values
$("input[type=text]").each(function() {
$("#sum").text( parseInt($("#sum").text()) + parseInt($(this).val()))
});
});
它捕捉到元素的变化,然后在所有元素上循环并汇总它们。您也可以使用类似的方法:
$("input[type='text'][name^='percentage']").keyup(function(){
alert(sumThemUp());
});
function sumThemUp(){
var sum = 0;
$("input[type='text'][name^='percentage']").each(function(){
sum+= parseInt($(this).val());
});
return sum;
};
在的工作示例。
您还可以检查jQueryAPI以选择可能更适合您的选择器(如果您愿意)。有许多变体,如!=、~=、*=等。可能重复:谢谢!实际上,还有其他输入字段(如复选框)。那么我如何区别于其他输入字段呢?谢谢。这很有效。但是,当我试图通过$('input[name=percentage')实现这一点时,它不起作用。我不能使用名称属性而不是文本属性吗?如果我有其他具有不同名称的文本字段,但我只想对百分比字段求和,该怎么办?Opps!我刚看到你的答案我修改了我的答案。。正确的选择器是
$(“输入[type='text'][name^='percentage'])
。这将匹配名称以单词百分比开头的所有文本输入。更简单的方法是imo添加自定义css类,然后通过该类识别元素。谢谢Dampe。它起作用了;我按照你的建议使用了CSS类。