2017-08-08 58 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>