2013-04-05 56 views
0

我目前正在嘗試使用來自多個輸入的值填充文本區域,因爲它們是鍵入的,我的問題是每當我去到一個新的輸入,它從文本區域清除以前的信息,添加新的,無論如何,我可以保留從以前的領域的信息,也添加新的信息。使用.val填充文本區

HTML

<input type="text" name="fname" ><br> 
<input type="text" name="lname"><br> 

<textarea type="text" id="content"></textarea><br> 

jQuery的

$("input").keyup(function() { 
    var value = $(this).val(); 
    $("#content").text(value); 
    }).keyup(); 

Codepen http://codepen.io/michael52/pen/uzeqs

+1

你應該告訴如何最終結果在'textarea'should樣子。如果它應該合併,你可以這樣做:'var value = $(「[name ='fname']」)。val()+「」+ $(「[name ='lname']」)。val(); ' – 2013-04-05 08:35:26

回答

4

你爲什麼不建立一個基於其他兩個箱子,不是textarea的舊值textarea的內容:

<input type="text" name="fname" id="fname"><br> 
<input type="text" name="lname" id="lname"><br> 

<textarea type="text" id="content"></textarea><br> 

JS:

$("input").keyup(function() { 
    var value = $('#fname').val() + ' ' + $('#lname').val(); 
    $("#content").text(value); 
}).keyup(); 
+0

「好吧 - 你的代碼沒有一部分說它應該保留舊的輸入。」當然不是。如果這樣做,他們不會有任何問題需要解決。 – 2013-04-05 08:37:01

+0

呃......對。 :D刪除了該部分。 – mrks 2013-04-05 08:38:59

1

你需要新的內容追加,而不是取代舊的內容:

$("#content").text(function(_, oldText) { 
    return oldText + value; 
}); 
+2

其實不,這會產生重複的內容。 – undefined 2013-04-05 08:37:14

+2

雖然這是對這個問題的正確答案,但我認爲他實際上從來不想追加到第一位。如果它真的被追加,鏈接的應用程序將無法正常工作。 – mrks 2013-04-05 08:37:41

+0

@mdsl很可能。我從他們所說的關於希望保留文本區域的內容開始,但這可能不是他們真正想要/需要的內容。 – 2013-04-05 08:47:03