This page (revision-63) was last changed on 26-Mar-2013 12:05 by Dieter Käppel

This page was created on 07-Jun-2009 20:54 by Dieter Käppel

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Page revision history

Version Date Modified Size Author Changes ... Change note
63 26-Mar-2013 12:05 26 KB Dieter Käppel to previous
62 26-Mar-2013 12:05 26 KB Dieter Käppel to previous | to last
61 24-Nov-2012 12:00 26 KB Dieter Käppel to previous | to last

Page References

Incoming links Outgoing links

Version management

Difference between version and

At line 174 added 55 lines
!Beispiel setValue
Es soll ein Tag gebaut werden, der an einen Event-Handler hinzugefügt werden kann und den Value eines HTML-Input-Elements verändert. Zusätzlich soll die onchange-Methode des HTML-Input-Elements aufgerufen werden.
Zunächst bauen wir die Methode für das Hinzufügen eines Event-Handlers:
{{{
addHandler: function(obj, handler, fn) {
var oldFn = obj[handler];
obj[handler] = function(event) {
fn();
if (this[handler].oldFn != null)
this[handler].oldFn(event);
}
obj[handler].oldFn = oldFn;
}
}}}
Diese Funktion ist bereits durch die intersult.js im Intersult-Namespace der verfügbar. Dann den Tag:
{{{
<i:meta var="comp" useId="#{id}" javascript="#{intersultResource.get('/intersult.js')}"
rendered="#{empty rendered or rendered}">
<script type="text/javascript">
Intersult.addHandler($("#{comp.parentClientId}"), "#{event}", function(event) {
$('#{clientId}').value = '#{value}';
if ($('#{clientId}').onchange != null)
$('#{clientId}').onchange();
});
</script>
</i:meta>
}}}
Der Tag kann nun eingesetzt werden, um z.B. bei einer rich:suggestionbox andere Felder mit zu befüllen:
{{{
<h:inputText id="patient" autocomplete="off"/>
<h:inputText id="gender"/>
<h:inputText id="room"/>
<h:inputText id="patientId"/>
<rich:suggestionbox id="suggest" for="patient" var="suggestion" width="500" height="200"
suggestionAction="#{patient.suggestLabel}" fetchValue="#{patient.label}"
usingSuggestObjects="true" minChars="3">
<i:setValue event="onselect" clientId="#{comp.namingPrefix}gender"
value="#{suggestion.gender}"/>
<i:setValue event="onselect" clientId="#{comp.namingPrefix}room"
value="#{suggestion.room}"/>
<i:setValue event="onselect" clientId="#{comp.namingPrefix}patientId"
value="#{suggestion.id}"/>
<h:column>
<h:outputText value="#{suggestion.label}" escape="false"/>
</h:column>
</rich:suggestionbox>
}}}