我有一系列具有类似数组名称的输入文本元素,例如p_at[0][int], p_at[1][int], ...。我需要为页面中的每个onKeypress捕获一个input事件以求和。
请注意,输入是动态生成的。我试图以多种方式解决该问题,但对我没有任何帮助。

<input type="text"  value="1" name="p_at[0][65]">
<input type="text"  value="1" name="p_at[0][66]">
<input type="text"  value="1" name="p_at[0][67]">
<input type="text"  value="1" name="p_at[0][68]">
<input type="text"  value="1" name="p_at[0][69]">
    <input type="text"  value="0" name="sum[0]">
<input type="text"  value="1" name="p_at[1][65]">
<input type="text"  value="1" name="p_at[1][66]">
<input type="text"  value="1" name="p_at[1][67]">
<input type="text"  value="1" name="p_at[1][68]">
<input type="text"  value="1" name="p_at[1][69]">
     <input type="text"  value="0" name="sum[1]">

最佳答案

没有jQuery答案

var inputlist = document.getElementsByTagName('input');

var inputListener = function (evt) {
    //put the code that handles the event here
};

for( var i = 0; i < inputlist ){
    if( inputlist[i].type === "text" && inputlist.name.substr(0,4) === "p_at" ){
        if (elem.addEventListener)  // W3C DOM
            elem.addEventListener("Keypress",inputListener ,false);
        else if (elem.attachEvent) { // IE DOM
            elem.attachEvent("onKeypress", inputListener );
    }
    }
}


使用jQuery Answer

$('input[type="text"][name^="p_at"]').keypress(function(evt){
    //put the code that handles the event here
});

关于javascript - 捕获一系列<input>元素上的keypress事件并求和,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8618961/

10-13 22:13