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

この関数に渡された連結値を渡す方法はありますか?文字列変数とパラメータ評価

私はi=0

を渡す場合、私はあなたがES6を使用している、あなたが間の変数の値を使用するために、$ {I}を使用することができると仮定し

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

あなたの関数は引数を受け付けません。 'function addRow(i)'と書いていましたか? – Walk

+0

'row'は文字列です。文字列の値を連結するだけです。 – Rajesh

+0

また、 'i'が 'car'配列の長さよりも大きくないかどうかを確認することもできます。 – Observer

答えて

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

を取得したいと思いバックティック。

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

けれども、あなたがしたい場合car[i].defaultPriceとの実際の内容に評価するnameプロパティ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); 
関連する問題