Ehi, ho un problema con l'attivazione manuale di un evento di modifica.Evento di segnalazione incendio manuale
Quindi ho un SelectOneMenu (mi piace un menu a discesa in jsf) con valori diversi.
Se scelgo un valore di questo elenco a discesa, è necessario aggiornare un datatable. Funziona correttamente, se scelgo questo valore manualmente.
Ora c'è un caso, in cui ho bisogno di inserire un nuovo valore per selectOneMenu. Questo nuovo valore viene selezionato automaticamente, ma l'evento di modifica per aggiornare il datatable non viene generato ...
Quindi in pratica ho questo pulsante per salvare un nuovo valore per selectOneMenu che viene selezionato correttamente, ma il DataTable non viene aggiornato, ed è per questo ho cercato di scrivere la funzione fireChange() e dato che al onComplete del pulsante:
<p:commandButton ajax="true" id="seatingPlanSave" actionListener="#{EventAssistentController.createSeatingPlan}" value="#{msg.save}" update=":createEvent:EventSeatingPlan, :createEvent:ticketTypePrices" oncomplete="fireChange()"/>
per la fireChange() - la funzione, ho provato un paio di cose diverse :
function fireChange() {
var element = document.getElementById("createEvent:EventSeatingPlan_input");
element.change();
}
function fireChange() {
var element = document.getElementById("createEvent:EventSeatingPlan_input");
$(element).trigger("change");
}
function fireChange() {
if ("fireEvent" in element)
element.fireEvent("onchange");
else {
var evt = document.createEvent("HTMLEvents");
evt.initEvent("change", false, true);
element.dispatchEvent(evt);
}
}
Ma nessuno di questi lavori :(
Potete dirmi come posso ottenere questo?
Grazie, Xera
Wow vi ringrazio molto per questa grande risposta! Io uso un e come hai suggerito con widgetVar e lo speciale triggerChange-Method funziona perfettamente ora :-) Grazie ancora e buona giornata –
xeraphim