【问题标题】:How to create a Multinline textbox growing dynamically without scrollbars?如何在没有滚动条的情况下创建动态增长的多行文本框?
【发布时间】:2012-03-30 12:50:24
【问题描述】:

我需要在我的应用程序中使用文本框(多行)。它需要随着用户向其中输入文本而增长。我希望该文本框在没有任何滚动条的情况下增长。我试过allow=resize:null,但它只是防止文本框被拉伸。我想要的只是一个文本框,正如我们在 facebook 评论/共享区域中看到的那样,它在两侧没有任何滚动条的情况下简单地增长。我希望我已经清楚地解释了它。

【问题讨论】:

  • 您使用的是什么编程语言?

标签: facebook textbox resize textinput


【解决方案1】:

你可以这样使用:(来源:Expandable or Auto-Resize TextBox Height by Colt Kwong

    <asp:TextBox ID="txtMsg" runat="server"  TextMode="MultiLine" 
style="overflow:hidden" onkeyup="AutoExpand(this, event)" Rows="2" />

使用这个javascript:

    function AutoExpand(txtBox, event) 
{
    if (event.keyCode == "13" || event.keyCode == "8") {
        var therows = 0
        var thetext = document.getElementById(txtBox.id).value;
        var newtext = thetext.split("\n");
        therows += newtext.length

        document.getElementById(txtBox.id).rows = therows;
        return false;
    }
}

或者如果你喜欢 jquery,你应该看看jQuery autoResize Plugin

一个 jQuery 插件,可将输入元素的尺寸更改为 适合输入的数据量。它在textarea上运行, input[type=text] 和 input[type=password] 元素。

用法如下:

$('textarea#foo').autoResize();

你可以传递选项:

$('textarea#foo').autoResize({
    maxHeight: 200,
    minHeight: 100
});

【讨论】:

  • 谢谢你的时间...我测试后告诉
  • 有你知道的非jquery方法吗?
  • 答案很好。但是我怎样才能在 asp.net 中实现它。演示代码很好。但是当我尝试它时它不起作用
  • 我已经用另一种解决方案更新了我的答案。也许你会更喜欢这个。
猜你喜欢
  • 2013-12-11
  • 2012-04-14
  • 2022-12-17
  • 2016-12-12
  • 2017-07-02
  • 2011-07-09
  • 2016-11-06
  • 2016-04-16
  • 1970-01-01
相关资源
最近更新 更多