2011-11-07 10 views
2

長時間のlurker、初めてのポスターです。HTMLの入力値を非特定の名前で動的に設定します。

動的に(Javascript/jQueryを使用して)キー=>値のペア入力をフォームに追加できるページがあります。これらのフィールドは、処理のために配列としてPHPに返される必要があるため、キーの名前はすべて「complete_fields []」で、値の名前はすべてcomplete_values []です。今ここに私の問題があります。いくつかの入力を入力して別のキー=>値のペアを追加したい場合は、ボタンをクリックするとJavascriptが動作します。しかし、HTMLの "value ="部分は記入されていないので、既に入力した入力はJavascriptによって消去されます。ですから私の質問はこれです:どのようにすべての入力が同じ名前が付けられているにもかかわらず、私は動的にJSの入力のHTML値を設定できますか?これが不可能な場合は、残りのHTMLをすべて消去せずにdivの最後にどのように追加できますか?ここで

はJavascriptが入力されたコードを追加します:

function addCompleteField() { 
    var oldhtml = $("#complete_fields").html(); 
    var newrow = '<tr><td><input type="text" name="complete_fields[]" > => <input type="text" name="complete_values[]" ></td></tr>'; 
    $("#complete_fields").html(oldhtml+newrow); 
} 

答えて

1

HTMLと周りいじくる、ちょうどjQueryのcloneメソッドを使用して要素のクローンを作成するのではなく:

function addCompleteField() { 
    var table = $('#complete_fields'), 
     lastRow = table.find('tr').last(), 
     newRow = lastRow.clone(true); 

    newRow.find('input').val(''); // blank the new row's input elements 
    newRow.appendTo(table); 
} 
+0

が、これは完全に働いた、ありがとうございました! –

関連する問題