Javascript 计算多行的键控(通过单击按钮创建的行)

Javascript 计算多行的键控(通过单击按钮创建的行),javascript,jquery,ajax,Javascript,Jquery,Ajax,我使用下面的代码生成一个按钮点击文本框。现在,我想将text1的值乘以text2,并在keyup事件中填入text3,然后对每一行重复这个过程。我不知道如何使用keyup并将每一行的数据进行倍增。请帮忙。 JS代码: $(function(){ insertRow(); $('#addrow').on('click',function(){ insertRow(); }); function insertRow() { var index = $('#noofrows').val(); var

我使用下面的代码生成一个按钮点击文本框。现在,我想将text1的值乘以text2,并在keyup事件中填入text3,然后对每一行重复这个过程。我不知道如何使用keyup并将每一行的数据进行倍增。请帮忙。 JS代码:

$(function(){
insertRow();
$('#addrow').on('click',function(){
insertRow();
});
function insertRow() {
var index = $('#noofrows').val();
var table = document.getElementById("rep1");
var row = table.insertRow(table.rows.length);

var day1=row.insertCell(0);
    var t1=document.createElement("input");
            t1.id = "text1"+index;
            t1.name = "text1[]";
    var day2=row.insertCell(1);
        var t2=document.createElement("input");
            t2.id = "text2"+index;
            t2.name = "text2[]";
            var day3=row.insertCell(2);
        var t3=document.createElement("input");
            t3.id = "text3"+index;
            t3.name = "text3[]";
           index++;
$('#noofrows').val(index);

}
});
HTML按钮代码:

<div id="myDiv1">
<table class="table table-bordered table-hover table-responsive table-striped" id="rep1">
<input type='button' name='addrow' id='addrow' value='Add Row' class="btn btn-primary">
<tr>
<tr>
    <th rowspan="2" >Text1</th>
    <th rowspan="2" >Text2</th>
    <th rowspan="2" >Text3</th>
</tr>
        </tr>
        <tr>

        </tr>
 </table>
</div>

文本1
文本2
文本3

如果表中没有
tr
td
/
th
,则无法将输入或任何其他html元素放入表中。因此,将add和index输入保持在表之外。既然您已经在使用jquery,那么就不要使用javascript来创建元素,因为这将需要更多的代码和时间(jquery的使用稍微简单一点)。 Attache keyup事件,具有来自第一列和第二列的输入,并将其乘法放在第三列下 试试下面的代码

$(函数(){
insertRow();
$('#addrow')。在('单击',函数()上){
insertRow();
});
函数insertRow(){
var index=$('#noofrows').val();
var表=$(“#rep1 tbody”);
表.附加(“”);
索引++;
$('noofrows').val(索引);
}
$(“#rep1”)。在(“键控”、“输入[name^=text]”上,函数(){
var$tr=$(this.closest('tr');
var val1=$tr.find('td:eq(0)输入').val();
var val2=$tr.find('td:eq(1)input').val();
$tr.find('td:eq(2)输入').val(val1*val2);
});
});

文本1
文本2
文本3

你能建议我如何获得不同的名称,比如不同的id和运行代码吗?我认为每个文本框的名称都是相同的,比如text1 text2 text3,而新行的名称都是相同的。你需要为每个文本框指定一些静态唯一名称,就像我为id所做的那样。例如
id=“text1”+index
id=“text2”+index
id=“text3'+索引
因此,第1行的最终id将是text11、text21和text13,第2行的最终id将是text12、text22和text32。。按照相同的名称命名为
name=“text1”+index
etcya id不同,但我想在其他代码中访问此名称。这将为该代码创建问题。