2013-01-04 69 views
0

我想要一個primefaces inputTextarea,當聚焦時將它的rows =「1」屬性更改爲rows =「10」。增加primefaces inputTextArea行的焦點

我嘗試這一點,但它不工作:

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

隨着H:inputTextArea它的工作,但我喜歡,因爲自動調整大小的primefaces inputTextArea。

我可以想念什麼嗎? 感謝您的幫助。

回答

0

如果我們假設您的屬性和邏輯對框架來說都很好,那麼您確定this.value是空字符串嗎? 嘗試if(!this.value)如果沒有成功,您可能會繼續搜索。 如果成功,你將不得不做出更準確的布爾語句。

+0

不增加行 – kalaoke

+0

也許行數被定義'的數量onRender'只有你不能在使用這個ap的客戶端上動態地執行它proach – kidwon

0

對於我下面的作品 - 這個解決方案不是基於行,但上改變高度,還與阿賈克斯的更新(當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"/>

+0

請重新閱讀該問題。 OP聲明它適用於'h:inputText',並且想要解決'p:inputText'的問題 – Kukeltje