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.

L

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?

G

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.

R

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?

G

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