如何动态更改<h:inputtextarea>的rows属性?</h:inputtextarea>

时间:2014-02-13 18:21:13

标签: jsf jsf-2

我有一个名为ID-Text的字段,其长度从1到3000个字存储在数据库中。我想在表单中显示它。根据它的大小,我想改变<h:inputTextarea>的大小。我怎么能这样做..我能从bean设置行属性吗?

2 个答案:

答案 0 :(得分:0)

<h:inputTextarea>支持colsrows属性,您可以在VLD中看到。例如:

<h:inputTextarea value="#{bean.idText}" rows="#{bean.rowNrs}" cols="40" />

答案 1 :(得分:0)

是的你可以..,看看这个例子......

Bean类:

private int rowValue; 

//getters & setters for rowValue    

//if you want column size as "50" then make rowValue is divided by 50.

this.rowValue = para.length()/50; //para is a string which would have database value

现在你在后面的bean中有行值...只需将此值用作..

<h:inputTextarea id="para" value="#{beanName.idText}" rows="#{beanName.rowValue}" cols="50" />

次要选项..

通过JavaScript:

您可以尝试使用JavaScript之类的..

  <script language="javascript">
        function SetNewSize(textArea) {
            if (textArea.value.length > 5) {
                textArea.cols = 50;
                textArea.rows = 50;
            } else {
                textArea.cols = 30;
                textArea.rows = 20;
            }
        }
    </script>

    <textarea name="x" onKeyUp="SetNewSize(this);" cols="15" rows="10"></textarea>

尝试以类似方式在inputTextArea ...

中实现此功能