2012-01-29 33 views
0

我有點困惑,因爲這對我來說不合邏輯。重點是什麼?JQUERY - 在輸入textarea後改變選擇菜單不起作用

我有這樣的HTML:

<select id="id_number"> 
    <option value="0">option 1</option> 
    <option value="1">option 2</option> 
    <option value="2">option 3</option> 

</select> 
<br /><br /> 
<textarea id="description" placeholder="whatever">test1</textarea> 

和jQuery的等

$("#id_number").change(function() { 
    $("#description").text('123'); // test function 
}); 

當網頁加載完畢後,我應該有3個選項,並用textarea的 '測試1' 中的文本選擇菜單。我確實有。現在,當我改變任何選項,textarea更改爲'123與測試功能預期。不幸的是,當我從我的鍵盤在textarea中鍵入任何文本,並再次從菜單中選擇它不會把'123'放到textarea - 我不知道爲什麼,但沒有任何反應,就好像在textarea中輸入任何內容, jquery可以改變它了。每次我在選擇菜單中更改選項時,你有任何想法如何更改textarea文本?

回答

4

text()只是改變DOM元素的值,在這種情況下文本區域,但它不會改變實際值。爲了做到這一點,你必須使用val()。您可以在jQuery文檔頁面找到更多關於它的信息:http://api.jquery.com/text/

+1

謝謝你的答案 - 這是有幫助的,因爲它現在按我的意圖工作。不幸的是,我讀到textarea「沒有價值」像其他輸入標籤,我不得不改變'HTML'或'文字'。非常感謝! – Kalreg 2012-01-29 23:50:57

0

我會想,這是一個問題,你有你的jQuery語句在HTML本身。導致代碼對我的作品上的jsfiddle ...看看這裏http://jsfiddle.net/AKuWd/

但是,當您更改爲「NOWRAP(型)」它不工作...

0

你應該嘗試一下本作中選擇任何選項: 。

$( '#ID_NUMBER')生活( '變',函數(){

var id_number_value=$('#id_number').val(); 
$('#description').val(''); 
var description_value=$('#description').val(); 
if(id_number_value=='' || id_number_value=='null') 
    $('#description').val(id_number_value+""+description_value); 
else 
    $('#description').val(id_number_value+" "); 

});

相關問題