Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript中变量的值未更改_Javascript_Jquery - Fatal编程技术网

javascript中变量的值未更改

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'&

我正在尝试为动态生成的行中不同元素的id中的变量赋值,但未更改。代码如下所示。行是在单击“添加”按钮即insRow()函数时生成的。请指导

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();