我试过了 http://www.technoreply.com/autogrow-textarea-plugin-version-2-0/ 和 https://gist.github.com/802204#file_live_sample.js
TextArea的自动增长功能,如果您使用键盘添加项目,它们的效果很好,但是如果您以编程方式添加项目(比如说每秒1个新项目),则它们不会自动增长。
如果我以编程方式添加新项目,任何人都知道如何或在哪里可以找到自动生成的autogro textarea? (例如使用$('#txtUDSMessagesNotHandled')。val($('#textarea')。val()+'new text +'\ n');
提前致谢。吉列尔莫。
答案 0 :(得分:2)
在live-sample.js
中,我们看到了这一点:
$('.js-auto-grow').live('keyup keydown change', function(evt) {
因此插件绑定到三个事件。你关心的是change
。问题是,当您说$('#x').val('pancakes')
时,不会触发change
事件。玩弄这个:
你会看到。或者,从fine manual:
更改强>
当控件失去输入焦点并且自获得焦点后其值已被修改时,会发生更改事件。此事件对INPUT,SELECT和TEXTAREA有效。元件。
当您只是致电$x.val('pancakes')
时,不会发生焦点更改,因此不会触发change
事件。
您需要做的就是自己触发事件:
$('#txtUDSMessagesNotHandled')
.val($('#textarea').val()+'new text + '\n')
.change();
然后它应该可以正常工作。
另请注意,该插件要求<textarea>
同时具有row
和column
属性,否则它将无效。这是一个工作的演示: