我无法使用jQuery更新p:dialog
的标题:
<p:commandButton value="#{msgs.ViewPersons}" oncomplete="
jQuery('#ui-dialog-title-viewPersonsDlgId').text('ciao');
viewPersonsDlg.show()">
...
<p:dialog modal="true" id="viewPersonsDlgId"
widgetVar="viewPersonsDlg" dynamic="true">
奇怪的是,第二个Javascript语句:viewPersonsDlg.show()
已成功执行,我在Firebug中看不到错误。对话框的标题保持为空,或显示我在对话框的header
属性中放置的内容(如果存在)。
我不是jQuery的专家,我从主要的forum获取了jQuery语法。可能我误解了一些事情。
答案 0 :(得分:3)
请相信我id
:#ui-dialog-title-viewPersonsDlgId
没有元素。使用井号,您可以通过id
找到元素。 ui-dialog-title
是class
中span
dialog
title
,其中viewPersonsDlgId
已定义且id
是其oncomplete="jQuery('#viewPersonsDlgId .ui-dialog-title').text('ciao');viewPersonsDlg.show()"
。所以正确的代码是:
id
编辑:删除了不是问题原因的上一部分答案。另外一件重要的事情是,您必须指定dialog
的正确form
,因此如果它位于prependId="false"
内并且您未在{form
中使用...#formID\\:viewPersonsDlgId...
1}}属性然后使用{{1}}(你必须在带有双斜杠的jQuery中转义“:”)
答案 1 :(得分:0)
怎么样:
$('#myDialogId').dialog( "option", "title", "ciao" );