自动设置我从后面的代码添加的文本框的高度

时间:2012-11-30 16:38:41

标签: javascript asp.net

我想用下面的代码自动设置多文本,文本框的高度,但不起作用

//behind Code

TextBox txt = new TextBox();
txt.TextMode = TextBoxMode.MultiLine;
txt.Text = ...
txt.ID = ...
txt.ReadOnly = true;

Page.ClientScript.RegisterStartupScript(this.GetType(), "changeSHeight", "changeSHeight('" + txt.ClientID + "');", true);


//javascript
<script type="text/javascript">
         function changeSHeight(f) 
         {
             var e = document.getElementById(f);
             e.style.height = e.scrollHeight + "px";
         }
    </script>

我检查changeSHeight它是否被正确调用

当我希望scrollHeight显示alert时没有显示任何内容时,问题是因为我从后面的代码中添加了文本框,这一行:var e = document.getElementById(f);无法找到它们

2 个答案:

答案 0 :(得分:0)

$(document).ready(function(){
$("#idofdiv").bind("resize", function() {
   if($('#idofdiv').height() > 200){ $('#idofdiv').css('height','auto'); }
});

});
这可能会对你有所帮助 这是jquery代码

答案 1 :(得分:0)

你试着用吗? 身高:自动;属性如果css它会自动改变div的高度..