从具有jquery的表中获取输入类型文本内的值

时间:2014-07-22 20:51:48

标签: jquery struts2 struts2-jquery

我的问题如下:如何获取下面显示的代码的值,我需要从id="idMaquinaSalidaD<%=i%>"得到所有行的值,我试过这个

   var valoresMaquinas = $(".listaMaquinasSalidaD").val(); 

但是不行,只给了我第一行的价值,有人可以弄清楚这一点。

    <table>    
     <thead>
                <tr>

                    <th>Hora</th>
                    <th>Ruta</th>
                    <th>Maquina</th>


                </tr>
                </thead>

                <tbody>
                <%int i=10;%>
                <s:iterator value="datosPlan" var="datosPlanLoading" status="valorDatosPlan">

                    <%--//cambia de color la fila en la que se encuentra le cursor--%>
                    <tr id="<%=i%>"
                            <%
                                if(i%2 == 0)
                                {
                            %>
                        class="alt"
                        style="background: #E1EEf4;color: #00557F;"
                        onmouseover="destacarFila(this.id);"
                        onmouseout="colorOriginalFila(this.id,0);"
                            <%
                            }
                            else
                            {   %>
                        onmouseover="destacarFila(this.id);"
                        onmouseout="colorOriginalFila(this.id,1);"
                            <%
                                }
                                i++;
                            %>
                            >
                        <%--<input type="hidden" id="<%="editar"%>${listaHorariosLoading.codigoHorario}" value="${listaHorariosLoading.nombreHorario}">--%>

                         <td>
                            <p>
                                <s:property value="hora"/>
                            </p>
                        </td>
                        <td>
                            <p>
                                <s:property value="ruta"/>
                            </p>
                        </td>
                        <td>
                            <p>
                               <%--<s:textfield type="text" name="maquina" style="width:100;"/>--%>
                                <%--<input type="text" id="idMaquinaSalidaD<%=i%>" name="maquinaSalidaD" value="${maquina}" onblur="$.publish('verificarCupo',[this]);"/>--%>
                                 <input type="text" id="idMaquinaSalidaD<%=i%>" class="listaMaquinasSalidaD" name="maquinaSalidaD" value="${maquina}" onblur="$.publish('verificarCupo',[this]);"/>
                            </p>
                        </td>

                    </tr>

                </s:iterator>
                <%--voy sumando las maquinas ingresadas para pasarlas en una sola variable--%>
                <input type="hidden" id="listaMaquinaIngresadas" name="listaMaquinasIngresadas" value=""/>
                </tbody>

  </table>

2 个答案:

答案 0 :(得分:1)

这应该这样做:

    var valoresMaquinas = $('.listaMaquinasSalidaD');
    for (var i = 0; i < valoresMaquinas .length; i++) {
        console.log($(valoresMaquinas [i]).val());
    }

基本上,您的valoresMaquinas变量是具有类listaMaquinasSalidaD的元素数组。在该数组上执行val()方法时,它将返回第一个元素的值。

但是,如果遍历数组,则可以访问各个元素的值。这有帮助吗?

答案 1 :(得分:1)

这将为您提供所有值的数组:

 var valoresMaquinas = $("[id^='idMaquinaSalidaD']").map(function(i,v) {
     return v.value;
 }).get();