JavaScript - Recorrer array en AJAX

 
Vista:
sin imagen de perfil

Recorrer array en AJAX

Publicado por superx335 (4 intervenciones) el 17/01/2013 13:01:42
Buenas!!

veréis, la historia viene de largo, y he probado varias cosas, pero para resumir os diré que tengo una tabla con una fila, y al pulsar un botón, mediante jQuery va agregando más filas.

El problema viene porque un campo de la fila es una consulta PHP a la base de datos y muestra un <select> con todas las opciones. Al insertar la consulta PHP dentro del javascript directamente deja de funcionar la utilidad, y al darle al botón no hace nada.

Esta mañana se me ha ocurrido lo siguiente:
Hago la consulta PHP al cargar la página, y guardo todos los resultados en un Array. Luego mediante un script Javascript recojo los datos del Array PHP y lo paso a un Array de Javascript.

Todo con la idea de recorrer el Array al insertar la fila, en lugar de recorrer con PHP o hacer una consulta SQL... pero el resultado es el mismo, nada de nada.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
$("#add").click(function(){
		var n = $('tr:last td', $("#tablatareas")).length;
		var tds = '<tr>';
		for(var i=0; i<n; i++){
			tds += '<td>
				<select name="Articulo">
				<option value="N/A">N/A</option>
				'for (var j=0;j<5;j++)
				{'
					<option value=x[j]</option>;
				'}'
				</select> </td>';
			tds += '<td><input type="text" name="horamax id="horamax" /> </td>';
			tds += '<td></td>';
			tds += '<td><?php echo "Hi again!" ?></td>';
		}
		tds += '</tr>';
		$("#tablatareas").append(tds);
		})


Gracias de antemano!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Recorrer array en AJAX

Publicado por superx335 (4 intervenciones) el 18/01/2013 10:12:13
A ver, utilizo la librería jQuery.js, y entiendo que sí estoy usando AJAX ya que cuando pulso el botón se añaden correctamente las filas.

El problema es el que comentas, que el PHP no se ejecuta (aunque he probado a poner un "echo" y se muestra), pero es que ni si quiera me recorre un array de javascript.

Aquí realizo la consulta y almaceno datos de la base de datos en variable PHP local:

$consulta = "SELECT CREF FROM articulo ORDER BY CREF";
$resultado = mysql_query($consulta, $conexion) or die(mysql_error());

$ArrayArticulos=array();
$i=0;
while($fila = mysql_fetch_array($resultado))
{

$ArrayArticulos[$i] = $fila['CREF'];
$i++;

}

?>

Después, con este script, paso el array de PHP a Javascript:

<script>
var x = new Array();

<?php
for($i = 0;$i<count($ArrayArticulos);$i++)
echo "\nx[$i] = '$ArrayArticulos[$i];";
?>

</script>

Finalmente ejecuto la llamada de jquey.js para aplicar AJAX, y creo la función que añadirá algunas filas y en el primer campo cargará el array, cosa que no hace:

<script src="jquery.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function(){
//Aquí la función

$("#add").click(function(){
var n = $('tr:last td', $("#tablatareas")).length;
var tds = '<tr>';
for(var i=0; i<n; i++){
tds += '<td>
<select name="Articulo">
'for (var j=0;j<5;j++)
{'
<option value=x[j]</option>;
'}'
</select> </td>';
tds += '<td><input type="text" name="horamax id="horamax" /> </td>';
tds += '<td></td>';
tds += '<td><?php echo "Hi again!" ?></td>';
}
tds += '</tr>';
$("#tablatareas").append(tds);
})


});
</script>


Gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar