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

245
Vistas
¿Cómo pasar "obj" a updateFinalTermScore (obj1) en la función onblur?

Estoy usando Datatables e intento completar la tabla de datos a través de una llamada ajax. En la tabla de datos, he agregado una funcionalidad de cuadro de texto para que los usuarios puedan cambiar el valor de las calificaciones finales. Una vez que el usuario ha cambiado el valor de las calificaciones finales, quiero usar una función onblur para guardar ese nuevo valor de calificaciones finales en la base de datos. Así que tengo que pasar rosterID y nuevas marcas finales a la función onblur. Pero no sé cómo pasar 2 parámetros en esto. He decidido pasarle un objeto llamado "obj". Pero no pasa en absoluto a la función y el parámetro formal de la función "obj1" parece indefinido. Aquí está mi código.

 // piece of code from my datatables AJAX call. { data: 'SrNo', title: "Sr No" }, // 0 { data: 'RosterID', title: "Roster ID", visible: false }, // 1 { data: 'RollNo', title: "Roll No" }, // 2 { data: 'StudentName', title: "Student Name" }, // 3 { data: 'FinalScore', title: "Final Score", //4 render: function (data, type, full, row) { var obj = { ros: full.RosterID, final: full.FinalScore } return '<input class="form-control" id="DTFinalaTermMarks" name="DTFinalaTermMarks" type="text" onblur="updateFinalTermScore('+obj+');" value = ' + data + ' >'; } }, { data: 'WeightedScore', title: "Weighted Score"}, //5 // function with formal parameter function updateFinalTermScore(obj1) { var roterID = obj1.ros; alert("hi"); } ``` kindly help.
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

El objeto que necesitas usar es this .

 updateFinalTermScore(this)

En el contexto de un evento como onblur , creado en un renderizador de columnas, tendría el siguiente aspecto:

 { title: "Salary", data: "salary", render: function (data, type, row, meta) { return '<input class="form-control" id="DTFinalaTermMarks" ' + 'name="DTFinalaTermMarks" type="text" ' + 'onblur="updateFinalTermScore(this, ' + '\'' + row.RosterID + '\'' + ');" ' + 'value = ' + data + ' >'; } }

La declaración de return usa la concatenación de cadenas para crear el HTML requerido.

El objeto this representa el contexto del evento onblur , el nodo para el que ocurrió el evento. En este caso, ese es el elemento <input> relevante.

Debe utilizar este enfoque para poder acceder al valor del elemento <input> , que puede haber sido actualizado por el usuario antes del evento onblur .

El HTML resultante creado por la función de procesamiento de DataTables es:

 <input class="form-control" id="DTFinalaTermMarks" name="DTFinalaTermMarks" type="text" onblur="updateFinalTermScore(this, '123');" value="456">

Aquí, 123 es el ID de la lista. Supongo que este es un valor de cadena, por lo que uso '\'' para encerrar ese valor entre comillas simples.

Cuando ocurre el evento onblur , updateFinalTermScore puede acceder al nodo representado por this y extraer el valor proporcionado por el usuario usando la función jQuery val() :

 function updateFinalTermScore(node, salary) { console.log( $( node ).val() ); console.log( RosterID ); }
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