2014-02-07 34 views
1

如何使用jQuery獲取表單輸入值,然後將該值放入另一個輸入以及標記中。表單是動態的,這意味着有一個按鈕可以創建新的輸入。jQuery從動態輸入中獲取值並追加

我詢問項目名稱,然後當您單擊添加新字段時,它會在頁面上添加新字段。但我想從添加新輸入,輸入表單中獲取項目名稱,並將其顯示在生成字段的頂部,並在輸入(生成)字段的一個內部作爲值顯示。

這裏是項目名稱應該去的代碼h3 - >'<h3 class="tyonNimi'+rowNum+'"></h3>'輸入 - >'<input id="etuNimi'+rowNum+'"" name="etuNimi[]" placeholder="Etunimi" type="text">'完整的代碼如下。

這是它應該是什麼樣子的圖片:enter image description here

<h3>將代碼和文本未顯示。只顯示項目名稱。

jQuery代碼:

$(document).ready(function() { 

    var rowNum = 0; 
    function addRow(frm) { 
      rowNum ++; 
      var tyonNimi = $(".inputRow").closest("#etuNimi").val(); 
      var row = '<div class="inputRow'+rowNum+'">' + '<h3 class="tyonNimi'+rowNum+'"></h3>' + '<label for="etuNimi">Etunimi: </label>' + '<input id="etuNimi'+rowNum+'"" name="etuNimi[]" placeholder="Etunimi" type="text">' + '<label for="sukuNimi">Sukunimi: </label>' + '<input id="sukuNimi'+rowNum+'"" name="sukuNimi[]" placeholder="Sukunimi" type="text">' + '</div>'; 
      jQuery('#inputRow-Dynamic').append(row); 

     } 

    $('a.addField').click(function(e){ 
     event.preventDefault(); 
     addRow(1, false); 
     var prjNimi = $(".projektinNimi").val(); 
     $('.projektinNimi').val(prjNimi); 
    }); 

}); 

HTML代碼:

<div id="inputRow-Dynamic"></div> 
    <a class="submitButton" href="#" onclick="document.palkkalaskuri.submit(); return false;">Laske</a> 
<label for="projektinNimi">Projektin Nimi: </label><input id="projektinNimi" name="projektinNimi[]" placeholder="Projektin nimi" type="text"><a class="addField" href="#">Add Fields</a> 

回答

1

當你調用$('a.addField').click(function(e),你需要使用e.preventDefault()。你聲明e爲參數,你必須使用變量名'e',而不是'event'。糾正這個問題應該在你的輸入框上添加新的行。

+0

嗨,新的行已經在工作。但我添加了你的建議:)你知道我將如何從'#projektinNimi'中獲得值,並將它添加到h3中生成的字段上方嗎? – Pullapooh

+0

你只需要輸入框的val,並設置h3的文本。這裏是小提琴http://jsfiddle.net/a6yRg/給你的想法。 請注意,您需要將h3的ids設置爲當前的rowNum。然後用當前行ID將h3的文本設置爲項目名稱。 – lovetostrike

+0

我現在正在設置ID。我不明白我如何才能使它工作,只有新行獲得項目名稱和舊行保持不變。它現在將每個h3更改爲新名稱。 – Pullapooh