Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

296
Vistas
El valor obtenido es jquery indefinido (transversal)

En realidad estoy usando Jqgrid pero en la consola del navegador html se ve así

 <tbody> <tr> <td></td> <td></td> <td> <input type="text" id="priority_1per" value='10'>hello <input> </td> <td> <input type="text" id="priority_2per" value='20'>hellob <input> </td> </tr> </tbody>

hay una columna: "prioridad1" "prioridad2" que tiene un cuadro de texto

 $('body').on('change', '#priority_1per', function () { //debugger; var priority1 = $(this).val(); var priority2 = $(this).closest("tr").children("td").find("input[type=text]").find("#priority_2per") alert(priority1) alert(priority2) console.log(priority2) });

=>var prioridad1 estoy obteniendo el valor (esto).val() => pero no estoy obteniendo el valor de los datos de la columna de prioridad2 (no estoy haciendo crrt atravesando o no)

 jQuery.fn.init [prevObject: jQuery.fn.init(10)] length: 0 prevObject: jQuery.fn.init(10) [input#productpriority.form-control.productpriority, input#divisionname.form-control._division.ui-autocomplete-input, input#categoryname.form-control.category.ui-autocomplete-input, input#subcategoryname.form-control.subcategory.ui-autocomplete-input, input#priority_1.form-control.plantname.plantCode1, input#priority_1per.form-control.priority_1per.number, input#priority_2.form-control.plantname.plantCode2, input#priority_2per.form-control.priority_2per.number, input#priority_3.form-control.plantname.plantCode3, input#priority_3per.form-control.priority_3per.number, prevObject: jQuery.fn.init(12)] [[Prototype]]: Object(0)

este es el error que estoy encontrando (no es un error sino un error en travesal)

POR FAVOR, ayúdame con el aspecto html

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

El problema se debe a su lógica find() . Usas el primer find() para obtener ambos elementos input type="text" , luego el segundo intenta encontrar un elemento secundario #priority_2per dentro del primer input . Esto claramente no se puede encontrar ya que no es HTML válido.

Para solucionar el problema, elimine el primer find() y agregue val() :

 var priority2 = $(this).closest("tr").children("td").find("#priority_2per").val()

Sin embargo , como los elementos tienen atributos de id y la id debe ser única en el DOM, la lógica transversal es completamente redundante. Puede seleccionar directamente por el id .

Además, su HTML no es válido. Los elementos <input /> no tienen etiqueta de cierre. Aquí hay un ejemplo de trabajo completo:

 $('body').on('change', '#priority_1per', function() { var priority1 = $(this).val(); var priority2 = $("#priority_2per").val(); console.log(priority1); console.log(priority2); });
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script> <table> <tbody> <tr> <td></td> <td></td> <td> <input type="text" id="priority_1per" value="10" />hello </td> <td> <input type="text" id="priority_2per" value="20" />hellob </td> </tr> </tbody> </table>

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda