0

我想要一个 primefaces inputTextarea,当聚焦时会将其 rows="1" 属性更改为 rows="10"。

我试试这个,但它不起作用:

 <p:inputTextarea rows="1" onblur="if(this.value == '') this.rows =
 '1';" onfocus="this.rows ='50'"/>

使用 ah:inputTextArea 可以,但由于自动调整大小,我更喜欢 primefaces inputTextArea。

我可以错过什么吗?谢谢你的帮助。

4

2 回答 2

0

如果我们假设您的属性和逻辑适用于框架,那么您确定这this.value是空字符串吗?if(!this.value)如果没有成功,请尝试继续搜索。如果成功,您将不得不做出更准确的布尔语句。

于 2013-01-04T15:24:37.387 回答
0

对我来说,以下工作 - 此解决方案不是基于行,而是基于更改高度,也适用于 ajax 更新(当 html 内容在页面中更新或延迟加载时)

$(document).on("focus", "textarea.expand", function() {
     $(this).animate({ height: "12em" }, 500); 
});

$(document).on("blur", "textarea.expand", function() {
     $(this).animate({ height: "4em" }, 500); 
});

JSF 部分:

<h:inputTextarea id="testDescriptionTextBox" styleClass="expand" value="#{tributeToBlagusC.testDescription}" rows="4" cols="120" autoResize="false"/>

于 2017-04-25T18:32:29.383 回答