2015-02-18 2 views
1

У меня есть кнопка команды в primefaces, обновляющих скрытый вход, как показано ниже:Использование же событие кнопки для обоих Jquery/Primefaces

<html xmlns="http://www.w3.org/1999/xhtml" 
     xmlns:h="http://java.sun.com/jsf/html" 
     xmlns:f="http://java.sun.com/jsf/core" 
     xmlns:p="http://primefaces.org/ui"> 
<h:head> 
<title>Wizard Invoice </title> 
</h:head> 

<h:outputScript library="Scripts" name="stepsWizard.js" /> 

<h:body> 
<h:form> 

<p:commandButton id="IdA" value="test" action="#{invoiceWizardBean.someMethod}" update="hid"/> 
<h:inputHidden id="hid" type="hidden" name="name1" value="#{invoiceWizardBean.somevalue}" ></h:inputHidden> 

<input id="IdB" type="button" value="submit" /> 


</h:form> 
</h:body> 
</html> 

После нажатия на кнопку IdA значение моего скрытого ввода обновляется правильно в DOM. (без использования каких-либо Jquery в стороне клиента), но если добавить метод, делать дополнительные операции с использованием той же кнопки значение не более правильно

jQuery(function($) { 
var buttonNext = $("#j_idt6\\:IdA"); 
buttonNext.click(function(){ 
    var valueHidden = $("#j_idt6\\:hid")[0].value; 
    console.log(valueHidden); 
    // valueHidden has the previous value. It is not updated !! 
    // Do some operations based in valueHidden value 
}); 
}); 

Если я изменить функцию Jquery и использовать кнопку IDB , valueHidden является правильным.

Важно, чтобы я использовал одну и ту же кнопку для выполнения операций на моей стороне клиента.

Любые идеи, пожалуйста?

+0

Пожалуйста, создайте полный, но минимальный пример (см. [ask]) и более конкретно о том, что значение не является правильным (всегда ли это 666?). И что вы функционально хотите – Kukeltje

+0

Привет, Kukeltje, я обновил сообщение максимум информации. Благодарю. – MadNeox

+0

Я вижу, что вы внесли некоторые изменения, но я все еще не понимаю, чего вы функционально (не технически) хотите достичь. Возможно, вы попали в [XY trap] (http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem) – Kukeltje

ответ

1

Если я прямо вас понял, вы должны использовать oncomplete в <p:commandButton,

что-то вроде этого

<p:commandButton oncomplete="myJsFunc()" id="IdA" value="test" 
    action="#{invoiceWizardBean.someMethod}" update="hid"/> 

Место вашей стороне клиента логика в том, что Java-функция называется myJsFunc

+0

Awsome, работает отлично .. Спасибо;) – MadNeox

+0

You приветствуются – Daniel

Смежные вопросы