Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Autogenerar array y objetos

Estas en el tema de Autogenerar array y objetos en el foro de Javascript en Foros del Web. Hola: cómo puedo autogenerar con fors u otros este array de objetos: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Javascript : Ver original var zNodes = [     ...
  #1 (permalink)  
Antiguo 17/06/2013, 13:05
 
Fecha de Ingreso: enero-2010
Mensajes: 491
Antigüedad: 14 años, 11 meses
Puntos: 12
Autogenerar array y objetos

Hola:

cómo puedo autogenerar con fors u otros este array de objetos:
Código Javascript:
Ver original
  1. var zNodes =[
  2.             { id:1, pId:0, name:"pNode 1", open:true},
  3.             { id:11, pId:1, name:"pNode 11"},
  4.             { id:111, pId:11, name:"leaf node 111"},
  5.             { id:112, pId:11, name:"leaf node 112"},
  6.             { id:113, pId:11, name:"leaf node 113"},
  7.             { id:114, pId:11, name:"leaf node 114"},
  8.             { id:12, pId:1, name:"pNode 12"},
  9.             { id:121, pId:12, name:"leaf node 121"},
  10.             { id:122, pId:12, name:"leaf node 122"},
  11.             { id:123, pId:12, name:"leaf node 123"},
  12.             { id:124, pId:12, name:"leaf node 124"},
  13.             { id:13, pId:1, name:"pNode 13 - no child", isParent:true},
  14.             { id:2, pId:0, name:"pNode 2"},
  15.             { id:21, pId:2, name:"pNode 21", open:true},
  16.             { id:211, pId:21, name:"leaf node 211"},
  17.             { id:212, pId:21, name:"leaf node 212"},
  18.             { id:213, pId:21, name:"leaf node 213"},
  19.             { id:214, pId:21, name:"leaf node 214"},
  20.             { id:22, pId:2, name:"pNode 22"},
  21.             { id:221, pId:22, name:"leaf node 221"},
  22.             { id:222, pId:22, name:"leaf node 222"},
  23.             { id:223, pId:22, name:"leaf node 223"},
  24.             { id:224, pId:22, name:"leaf node 224"},
  25.             { id:23, pId:2, name:"pNode 23"},
  26.             { id:231, pId:23, name:"leaf node 231"},
  27.             { id:232, pId:23, name:"leaf node 232"},
  28.             { id:233, pId:23, name:"leaf node 233"},
  29.             { id:234, pId:23, name:"leaf node 234"},
  30.             { id:3, pId:0, name:"pNode 3 - no child", isParent:true}
  31.         ];
  #2 (permalink)  
Antiguo 17/06/2013, 13:11
 
Fecha de Ingreso: enero-2010
Mensajes: 491
Antigüedad: 14 años, 11 meses
Puntos: 12
Respuesta: Autogenerar array y objetos

bueno yo lo voy generando de esta manera:
Código Javascript:
Ver original
  1. for ($i = 0; $i < count($this->list); $i++){
  2.             ?>
  3.             zNodes[<?php echo $i ?>][0].id = <?php echo $this->list[$i]['id']; ?>;
  4.             zNodes[<?php echo $i ?>][1].pId = <?php echo $this->list[$i]['pId']; ?>;
  5.             zNodes[<?php echo $i ?>][2].name = "<?php echo $this->list[$i]['name']; ?>";
  6.             zNodes[<?php echo $i ?>][3].open = true;
  7.             <?php
  8.     }
pero me muestra este mensaje de error:

Cita:
ReferenceError: zNodes is not defined
zNodes[0][0].id = 1;
  #3 (permalink)  
Antiguo 17/06/2013, 13:37
 
Fecha de Ingreso: enero-2010
Mensajes: 491
Antigüedad: 14 años, 11 meses
Puntos: 12
Respuesta: Autogenerar array y objetos

leendo un poco mas tengo esto:
Código Javascript:
Ver original
  1. <script>
  2.     var zNodes = new Array();
  3.     <?php
  4.     for ($i = 0; $i < count($this->list); $i++){
  5.             ?>
  6.             zNodes[<?php echo $i ?>][0].id = new Object();
  7.             zNodes[<?php echo $i ?>][0].id = <?php echo $this->list[$i]['id']; ?>;
  8.             zNodes[<?php echo $i ?>][0].pId = new Object();
  9.             zNodes[<?php echo $i ?>][1].pId = <?php echo $this->list[$i]['pId']; ?>;
  10.             zNodes[<?php echo $i ?>][0].name = new Object();
  11.             zNodes[<?php echo $i ?>][2].name = "<?php echo $this->list[$i]['name']; ?>";
  12.             zNodes[<?php echo $i ?>][0].open = new Object();
  13.             zNodes[<?php echo $i ?>][3].open = true;
  14.             <?php
  15.     }
  16.    
  17.     ?>
  18. </script>
pero aun asi tengo este mensaje

Cita:
TypeError: zNodes[0] is undefined
var zNodes = new Array();
  #4 (permalink)  
Antiguo 17/06/2013, 14:25
 
Fecha de Ingreso: enero-2010
Mensajes: 491
Antigüedad: 14 años, 11 meses
Puntos: 12
Respuesta: Autogenerar array y objetos

pero que cosas para un array multidimencional es preciso declararlo segun el nivel de profundidad de tu array

Cita:
var zNodes = new Array();

<?php
for ($i = 0; $i < count($this->list); $i++){
?>
zNodes[<?php echo $i ?>] = new Array();
zNodes[<?php echo $i ?>].id = new Object();
zNodes[<?php echo $i ?>].id = <?php echo $this->list[$i]['id']; ?>;
zNodes[<?php echo $i ?>].pId = new Object();
zNodes[<?php echo $i ?>].pId = <?php echo $this->list[$i]['pId']; ?>;
zNodes[<?php echo $i ?>].name = new Object();
zNodes[<?php echo $i ?>].name = "<?php echo $this->list[$i]['name']; ?>";
zNodes[<?php echo $i ?>].open = new Object();
zNodes[<?php echo $i ?>].open = true;
<?php
}

?>
bueno algo mas apredí

Etiquetas: objetos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:10.