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

136
Vistas
¿Cómo puedo trabajar en JavaScript con un solo campo de entrada HTML como una matriz?

Después de horas de búsqueda y pruebas, finalmente he decidido publicar una pregunta.

Necesito poder hacer algo como esto para trabajar con una función.

 var myCSV = [1,3,5,6];

Actualmente, puedo obtener el CSV de la base de datos, ya que así es como se almacena, myColumn = 1,3,5,6. Puedo hacer que pase como una respuesta exitosa de AJAX, pero parece querer agregar comillas. Luego traté de agregar la codificación JSON a mi lado de PHP y JSON Parse a la llamada exitosa, pero aún no puedo hacer que la función funcione. El objetivo final es seleccionar casillas de verificación basadas en el valor csv.

Esto funciona

 var FilterArray = [1,3,5,6]; // Manually added these numbers as is for testing $('#myForm').find('.checks').each(function () { $(this).prop("checked", ($.inArray(parseInt($(this).val()), FilterArray ) != -1)); });

Después de intentar mucho para que mi respuesta de éxito de AJAX funcione en FilterArray, decidí simplemente pasarlo a un valor de entrada y trabajar con él. Sin embargo, no puedo entender cómo no tratarlo como una cadena cuando lo paso a la función. Esto es lo que he probado.

En mi getCSV.php tengo al final esto

 json_encode($foundCSV);

En mi éxito AJAX

 var FilterArray = JSON.parse(response);

También lo probé sin json_encode y solo lo envié a un valor de entrada que no agrega comillas.

Entonces, en resumen, ¿cómo puedo tomar un valor almacenado csv, por ejemplo, 1,3,5,6 y pasarlo a una función que funciona como se muestra arriba?

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

0

Suponiendo que tiene su cadena en una variable, llamada respuesta, y su valor es "1,3,5,6", puede traducirlo a una matriz de enteros con esto:

 response.split(',').map(e => parseInt(e))

y luego puede pasar el resultado de esto a su función. Siguiendo con su nombre, el código debería verse así:

 var FilterArray = response.split(',').map(e => parseInt(e));

Lo que hace el código:

  • toma la respuesta y la divide usando el carácter de coma como delimitador
  • esto creará una matriz de cadenas
  • para cada cadena en esa matriz, intenta analizarla como un número entero (¿una identificación, supongo?)
about 4 years ago · Juan Pablo Isaza Denunciar

0

Pregunta aclaratoria: ¿Cómo se ve su $foundCSV en el lado de PHP, antes de codificarlo con json? ¿Es una matriz o una cadena con números separados por comas? Es posible que desee consultar con sus herramientas de desarrollador/depurador qué contiene la respuesta de Ajax. Parece que tienes una cadena pero esperas una matriz.

Si ese es el caso, puede crear una matriz en el lado JS o PHP. Para el lado JS, consulte la respuesta de @GregorioPalama. Alternativamente, podría hacer esto en el lado de PHP, que podría ser más corto:

 $response = explode(',', $foundCSV);

y luego trabaje con json_encode($response) .

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