2012-01-29 80 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+" "); 

});