2017-08-08 61 views
0

我有一个网页申请。在这个网页中,点击addp按钮后,行是动态添加的。我可以使用addPf()方法成功添加新行。这些输入名称属性应该是enName0,enName1,enName2 .....,但它的工作原理失败,并且name =“enName”+ aDWI。如何设置动态添加输入的名称值? javascript jquery

这里是我的html代码:

<div> 
<table> 
<tr> 
    <td> 
    <input type="button" id="addP" onclick="addPf()" value="addPeople"> 
    </td> 
</tr> 
<tr> 
    <td> 
    new row added in here; 
    </td> 
</tr> 
</table> 
</div> 

这里是我的javascript代码:

<script> 

var aDWI=0; 
function addPf() 
{ 
    newrow = '<tr><td><input style="width:98%" name="enName"+aDWI></td></tr>'; 
    $(newrow).insertAfter($('#staTable tr:eq('+aDWI+')')); 
    aDWI = aDWI + 1; 
    } 
</script> 

名= “enName” + aDWI不right.I不知道这事,谁又能帮我 ?

+0

'NEWROW = '​​<输入风格= “宽度:98%” 名称= “enName”' + aDWI +'>';' – MysterX

回答

0

变化从

newrow = '<tr><td><input style="width:98%" name="enName"+aDWI></td></tr>'; 

newrow = '<tr><td><input style="width:98%" name="enName'+aDWI+'"></td></tr>'; 
0

只是

<script> 

var aDWI=0; 
function addPf() 
{ 
    newrow = '<tr><td><input style="width:98%" name="enName'+aDWI+'"></td></tr>'; 
    $(newrow).insertAfter($('#staTable tr:eq('+aDWI+')')); 
    aDWI = aDWI + 1; 
} 
</script> 
+2

这不太对。双引号需要围绕该值:'name =“enName'+ aDWI +'”' –

+0

是的,你是对的。更新它 – Atiq

0

的问题是,因为你需要正确字符串连接在一起的变量,使用'更新字符。

另请注意,您应该使用不显眼的事件处理程序,而不是使用过时的on*事件属性。此外,可以通过使用jQuery的append(),这样简化的逻辑:

var aDWI = 0; 
 

 
$('#addP').click(function() { 
 
    newrow = '<tr><td><input style="width:98%" name="enName' + aDWI + '" value="' + aDWI + '"></td></tr>'; 
 
    $('#staTable').append(newrow); 
 
    aDWI = aDWI + 1; 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div> 
 
    <table id="staTable"> 
 
    <tr> 
 
     <td> 
 
     <input type="button" id="addP" value="addPeople"> 
 
     </td> 
 
    </tr> 
 
    <tr> 
 
     <td> 
 
     new row added in here; 
 
     </td> 
 
    </tr> 
 
    </table> 
 
</div>