JQUERY - 在textarea中输入后。选择菜单的更改不会做任何事情

时间:2012-01-29 23:34:04

标签: 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个选项的菜单和带有'test1'文本的textarea。我确实有。现在,当我更改为任何选项时,textarea会根据测试功能更改为“123”。不幸的是,当我从键盘输入textarea中的任何文本,并再次从菜单中选择选项时,它不会将'123'放到textarea - 我不知道为什么但没有任何反应,就好像在textarea中输入任何内容的某些方式改变了textarea和jquery可以改变它。您是否有任何想法如何在每次更改选择菜单中的选项时更改textarea文本?

3 个答案:

答案 0 :(得分:4)

text()只是更改DOM元素的值,在这种情况下是文本区域,但它不会更改实际值。为此,您必须使用val()。您可以在jQuery文档页面上找到有关它的更多信息:http://api.jquery.com/text/

答案 1 :(得分:0)

我认为在HTML本身中有jQuery语句的地方是个问题。因为代码在JSFiddle上为我工作...看这里http://jsfiddle.net/AKuWd/

但是,当你改为“nowrap(body)”时,它不起作用......

答案 2 :(得分:0)

您应该尝试选择任何选项:

$('#id_number')。live('change',function(){

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+" ");

});