【发布时间】:2012-01-18 14:34:40
【问题描述】:
我的 .xhtml 页面中有以下对话框。
<p:dialog widgetVar="exampleDialog" onShow="fillTextArea()" >
<p:tabView id="tabView">
<p:tab id="exampleTab" title="Example">
<p:inputTextarea id="someInputTextArea" autoResize="false"
value="" />
</p:tab>
</p:tabView>
</p:dialog>
单击按钮时会显示对话框。 fillTextArea javascript 函数在文档头部的脚本标签内定义。
function fillTextArea() {
console.log(jQuery("textarea[id='someInputTextArea']")); // logs empty array []
console.log($("[id='someInputTextArea']")); // logs empty array []
jQuery("textarea[id='someInputTextArea']").val('xxx'); // does nothing
}
有什么问题?为什么我无法检索输入文本区域?
我没有使用Dialog 的onShow 事件,而是尝试了:
exampleDialog.show();
fillTextArea();
以防万一。但这也不起作用。我正在尝试设置inputTextArea 的内容。
任何帮助表示赞赏。谢谢。
【问题讨论】:
-
当您在 Web 浏览器中查看 HTML 源代码时,您的 textarea 的 id 属性是什么?
-
它是
tabView:headCodeTextArea_input。但这并不意味着我必须使用如此丑陋的语法来访问它,不是吗? -
当我使用该 ID 访问时它可以工作。但是没有其他方法可以解决这个问题吗?谢谢顺便说一句。
标签: java jquery jsf jakarta-ee primefaces