Primefaces+jquery

9 respostas
S

Pessoal gostaria de saber como faço para recuperar o valor de uma <p:selectOneMenu>, usando jquery ou até mesmo javascript nativo, abaixo segue o código:

<h:form id="formMarcadores">

                    <table>
                        <tr style="vertical-align:top">
                            <td style="width:15em">
                                <p:fieldset legend="Marcadores" style="height: 390px">
                                    <table>
                                        <tr>
                                            <td><div id="hand_b"
                                                     onclick="stopEditing()"/></td>
                                            <td><div id="placemark_b"
                                                     onclick="placeMarker()"/></td>
                                            <td><div id="line_b"
                                                     onclick="startLine()"/></td>
                                            <td><div id="shape_b"
                                                     onclick="startShape()"/></td>
                                        </tr></table>

                                    <input type="hidden" id="featuredetails">
                                    </input>
                                    <p:separator/>
                                    <p:selectOneMenu id="area" value="#{quadrantesMB.idArea}" style="width: 230px; font-size: 12px;margin-bottom: 5px;" >  
                                        <f:selectItem itemLabel="--Área--"/>
                                        <f:selectItems value="#{quadrantesMB.areas}" /> 
                                        <p:ajax 
                                            listener="#{quadrantesMB.getCorByArea()}"
                                            oncomplete="getColor(args);">
                                        </p:ajax>
                                    </p:selectOneMenu>

                                    <p:selectOneMenu id="subarea" value="#{quadrantesMB.idSubArea}" disabled="false" style="width: 230px; font-size: 12px;">  
                                        <f:selectItem itemLabel="--Subárea--"/>
                                        <f:selectItems value="#{quadrantesMB.subareas}" /> 
                                    </p:selectOneMenu>
                                </p:fieldset>
                                <table id ="featuretable">
                                    <tbody id="featuretbody"></tbody>
                                </table>
                            </td>
                            <td>
                                <div id="map" style="width: 985px; height: 400px;"></div>
                            </td>
                        </tr>
                    </table>

                </h:form>

Quero quando o usuário selecionar um valor na comboBox quero recuperar esse valor usando javascript se alguem puder me ajudar agradeço.

9 Respostas

T

Cara não entendi, pq vc quer usar JavaScript, Cria um Converter e Manda isso pro java .!

S

É que nessa tela estou usando rest, então quando selecionar algum valor na comboBox quero chamar uma função javascript que vai capturar esse valor e vai trata-lo. Essa tela é du carai tenho que criar uma forma de o usuário poder desenhar poligonos sobre o mapa, porem ele tem que selecionar uma area e uma subarea, depois que ele terminar de desenhar tenho que mandar para o banco de dados a area e subarea selecionada e todas as coordenadas do poligono que ele desenhou.

LucianoM86

Você pode usar a client side API do selectOneMenu…dá uma olhada no user guide do primefaces, lá tem todos os métodos que pode utilizar.

S

Pessoal tem como eu setar um valor que recupero via javascript para um campo do tipo h:inputHidden? se tem como?

guilherme737

Não sei qual o seu propósito mas para pegar a maioria dos componentes via javascript você pode usar

document.elementById('id_do_form:id_do_componente')
S

Não sei porque mais para mim isso não ta funcionando, depurei pelo firebug e o document.elementById('id_do_form:id_do_componente') esta retornando null.

Rodrigo_Sasaki

Não sei porque mais para mim isso não ta funcionando, depurei pelo firebug e o document.elementById('id_do_form:id_do_componente') esta retornando null.
Você colocou o id correto ?

S

Na verdade quero recuperar o valor de uma:

<p:selectOneMenu id="s" value="#{quadrantesMB.idArea}" style="width: 230px; font-size: 12px;margin-bottom: 5px;" >  
                  <f:selectItem id="selectItemArea" itemLabel="--Área--"/>
                  <f:selectItems id="selectItensArea" value="#{quadrantesMB.areas}" /> 
  </p:selectOneMenu>

Quando o usuário selecionar um valor na comboBox quero recuperar esse valor via javascript, não quero recuperar no bean, alguem sabe como?

guilherme737

Pode estar vindo null porque no caso você está utilizando o Select do Primefaces e eles modifica um pouco o codigo usual para deixar o negocio mais enfeitado no seu caso tente o seguinte:

document.getElementById('formMarcadores:area_input')

seria o id do Form + id do Select + _input.

Criado 11 de dezembro de 2012
Ultima resposta 13 de dez. de 2012
Respostas 9
Participantes 5