2017-10-17 101 views
-1
function addRow(){ 
    var row=`<input name="car[].name"> 
    <input type='text' name='car[].defaultPrice'></td> 
    `; 
    $("#carsTable tbody").append(row); 
} 

如何傳遞傳遞給此函數的連接值?字符串變量和參數評估

如果我通過i=0

我想獲得

var row=`<input name="car[0].name"><input type='text' name='car[0].defaultPrice'></td>`; 
+2

你的函數不接受任何參數。你的意思是寫'function addRow(i)'? – Walk

+0

你的'row'是一個字符串。所以你只需要連接字符串值。 – Rajesh

+0

此外,你可能想檢查'我'是不是比'車'陣列長度更大。 – Observer

回答

3
var row=`<input name="car[${i}].name"> 
<input type='text' name='car[${i}].defaultPrice'></td> 
`; 

假設你使用ES6,你可以以使用的之間變量的值,用$ {I}回刻度。

3

傳遞所需的數字作爲參數傳遞給函數:

function addRows(number) { 

    var row = '' + 
     '<td>' + 
      '<input name="car[' + number + '].name">' + 
      '<input type='text' name="car[' + number + '].defaultPrice">' + 
     '</td>'; 

    $("#carsTable tbody").append(row); 

}  
3

利用字符串插值:

function addRow(i) { 
    var row=` 
     <td> 
      <input name="car[${i}].name"> 
      <input type='text' name='car[${i}].defaultPrice'> 
     </td>`; 
    $("#carsTable tbody").append(row); 
} 

普通字符串:

function addRow(i) { 
    var row="<td>" + 
       "<input name='car[" + i + "].name'>" + 
       "<input type='text' name='car[" + i + "].defaultPrice'>" + 
      "</td>"; 
    $("#carsTable tbody").append(row); 
} 

不過,如果你想name屬性來評估car[i].defaultPrice和的實際內容3210,你需要做到以下幾點:

var car = [ 
    { name: 'Test', defaultPrice: 20000 }, 
    { name: 'Test2', defaultPrice: 25000 } 
]; 

function addRow(i) { 
    var row=` 
     <td> 
      <input name="${car[i].name}"> 
      <input type='text' name='${car[i].defaultPrice}'> 
     </td>`; 
    $("#carsTable tbody").append(row); 
} 

然後調用函數:

addRow(0); 
addRow(1);