Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

141
Visualizações
¿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 Respostas
Responde à pergunta

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda