2010-06-25 3 views
1

Depuis que je suis plus versé dans php merci dans js je vais essayer d'expliquer ce dont j'ai besoin d'un point de vue php. Je dois passer à une fonction javascript un tableau:Javascript: tableaux multimensionnels avec alternative de valeur de clé?

array('fieldname' => 'value', 'fieldname2' => 'value2' ...); 

Thne la fonction serait faire

foreach(array as k => v) { 
    <input name='fieldname' value='value'/> 
    <input name='fieldname2' value='value2'/> 
    ... 
} 

Je ne sais pas comment faire cela, je comprends que js n'ont pas multidimensionnelle tableau, donc je me demande quelle est la bonne façon de le faire en JavaScript?

p.s. Je comprends qu'il y a une bibliothèque qui rend disponible la fonction php à js, mais je veux apprendre quelle est la meilleure pratique pour le faire en js pur.

Merci beaucoup

Répondre

5
<script type="text/javascript"> 
// <![CDATA[ 

    // Create an associative array. 
    var array = {'fieldname': 'value', 'fieldname2': 'value2'}; 

    for (var key in array) { 
     // Create an input element and set its name and value. 
     var input = document.createElement("input"); 

     input.name = key; 
     input.value = array[key]; 

     // There's no simple "insert an element right here"; you have to pick 
     // where in the document to add the input box. 
     document.body.appendChild(input); 
    } 

// ]]> 
</script> 
3

En Javascript, il n'y a pas de tableaux associatifs. Il existe des objets qui fournissent des appariements clé-valeur, mais ils ne doivent pas être confondus avec un tableau associatif. Vous pouvez faire des choses comme ceci:

var myObject = { 
    key1: 'value1', 
    key2: 'value2' 
}; 

for (var i in myOjbect) { 
    var thisVal = myObject[i]; 
} 

Cela vous permettra de parcourir les propriétés de l'objet que vous avez créé. Encore une fois, bien que ce soit similaire à ce que vous avez demandé, ce n'est pas exactement la même chose qu'un tableau associatif en PHP.

0

Il se peut que je manque quelque chose car je ne suis pas sûr de savoir ce que vous voulez dire quand vous dites tableau multidimensionnel ... ce que vous montrez dans votre code est généralement appelé un tableau associatif.

var fields={'fieldname' : 'value', 'fieldname2' : 'value2'}; 
for(var key in fields){ 
    var elm=document.createElement('input'); 
    elm.name=key; 
    elm.value=fields[key]; 
    document.body.appendChild(elm); 
} 
0

tableau multidimensianla dans js:

a={a:{a:1,b:2},b:{a:1,b:2}}; 
a.a.a=5; 
a['a']['a']=7; 
+0

Heh. C'est un objet. –

+0

Si ça ressemble à un canard, se moque du canard et marche comme un canard, c'est un canard – codez

Questions connexes