2

p:dialog使用しているjQueryのタイトルを更新できません:

<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">

奇妙なことに、2番目のJavascriptステートメント:viewPersonsDlg.show()が正常に実行され、Firebugにエラーが表示されません。ダイアログのタイトルは空のままであるか、ダイアログのheader属性に入力した内容が表示されます(存在する場合)。

私はjQueryの専門家ではなく、primefacesフォーラムからjQuery構文を取得しました。おそらく私は何かを誤解しました。

4

2 に答える 2

3

これには要素がないと信じてくださいid: #ui-dialog-title-viewPersonsDlgId。ハッシュ記号を使用すると、 で要素を検索できますidui-dialog-titleは のclassspanありdialogtitleは定義されており、viewPersonsDlgIdはそのidです。したがって、正しいコードは次のとおりです。

oncomplete="jQuery('#viewPersonsDlgId .ui-dialog-title').text('ciao');viewPersonsDlg.show()"

編集:問題の原因ではない回答の前の部分を削除しました。また、重要なことは、正しいidのを指定する必要があることですdialog。したがって、それが a 内に配置され、プロパティで使用しformない場合は、使用します(jQuery では ":" を二重スラッシュでエスケープする必要があります)。prependId="false"form...#formID\\:viewPersonsDlgId...

于 2012-05-15T18:44:09.713 に答える
0

どうですか:

$('#myDialogId').dialog( "option", "title", "ciao" );
于 2012-05-15T18:42:46.827 に答える