javascript中变量的值未更改
我正在尝试为动态生成的行中不同元素的id中的变量赋值,但未更改。代码如下所示。行是在单击“添加”按钮即insRow()函数时生成的。请指导javascript中变量的值未更改,javascript,jquery,Javascript,Jquery,我正在尝试为动态生成的行中不同元素的id中的变量赋值,但未更改。代码如下所示。行是在单击“添加”按钮即insRow()函数时生成的。请指导 var i=0; function insRow() { i++; let newRowContent = "<tr>" +"<td> <select class='form-control' id='upcList'+i><option selected='selected'&
var i=0;
function insRow() {
i++;
let newRowContent = "<tr>"
+"<td> <select class='form-control' id='upcList'+i><option selected='selected'>Select</option></select></td>"
+ "<td><input id='tdesc+i' type='number' class='form-control' /></td>"
+ "<td><input id='tamnt+i' type='number' class='form-control' /></td>"
+"<td><input id='trem+i' type='number' class='form-control' /></td>"
+"<td><input type='button' style='margin-left:2%;' value='Add' id='abc' class='btnrowvalue3' onclick='insRow()' /></td>"
+ "</tr>";
$("#ipcelltbll tbody").append(newRowContent);
}
var i=0;
函数insRow(){
i++;
让newRowContent=“”
+“选择”
+ ""
+ ""
+""
+""
+ "";
$(“#ipcelltbll tbody”).append(newRowContent);
}
因为您已将“i”硬编码到文本中
var i=0;
function insRow() {
i++;
let newRowContent = "<tr>"
+"<td> <select class='form-control' id='upcList" + i +"'><option selected='selected'>Select</option></select></td>"
+ "<td><input id='tdesc" + i + "' type='number' class='form-control' /></td>"
+ "<td><input id='tamnt" + i + "' type='number' class='form-control' /></td>"
+"<td><input id='trem" + i + "' type='number' class='form-control' /></td>"
+"<td><input type='button' style='margin-left:2%;' value='Add' id='abc' class='btnrowvalue3' onclick='insRow()' /></td>"
+ "</tr>";
$("#ipcelltbll tbody").append(newRowContent);
var i=0;
函数insRow(){
i++;
让newRowContent=“”
+“选择”
+ ""
+ ""
+""
+""
+ "";
$(“#ipcelltbll tbody”).append(newRowContent);
您需要将其连接到字符串中
let newRowContent = "<tr>"
+"<td> <select class='form-control' id='upcList" + i + "'><option selected='selected'>Select</option></select></td>"
....
let newRowContent=“”
+“选择”
....
您在其他一些地方也犯了同样的错误。您还没有展示如何将
insRow
函数绑定到按钮的单击事件-这可能是问题所在,但不查看就很难知道
i
变量的定义超出了insRow
的范围-这样的全局变量不好。为什么需要i
呢?我看不到在这里使用它。而不是像其他答案建议的那样对其进行编码(concat多个字符串),我个人会使用模板文字。它们看起来更干净,我认为可读性更强
设i=0;
函数insRow(){
i++;
让newRowContent=`
挑选
`;
$(“#ipcelltbll tbody”).append(newRowContent);
}
insRow();
insRow();
insRow();
insRow();