我想要一个primefaces inputTextarea,当聚焦时会将其rows =“1”属性更改为rows =“10”。
我试试这个,但它不起作用:
<p:inputTextarea rows="1" onblur="if(this.value == '') this.rows =
'1';" onfocus="this.rows ='50'"/>
使用h:inputTextArea可以正常工作,但由于自动调整大小,我更喜欢使用primefaces inputTextArea。
我可以错过什么吗? 谢谢你的帮助。
答案 0 :(得分:0)
如果我们假设您的属性和逻辑与框架一致,那么您确定this.value
是空字符串吗?
如果没有成功,请尝试if(!this.value)
,而不是继续搜索。
如果成功,你将不得不做出更准确的布尔语句。
答案 1 :(得分: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"/>