2010-09-07 5 views
1

J'ai un tableau littéral qui est chargé lorsque la page se charge ... Voir ci-dessous:javascript tableau sans recharger la page

<script type="text/javascript"> 
var members = [ 
    { 
     name:"Alan Lim", 
     id:"54700f06-a199-102c-8976-b1732b7ffc74", 
     positions:[ 
      { 
      id:"4cdeb2a2-8897-102d-80ee-95364de284f0" 
      } 
     ] 
    }, 
    { 
     name:"Ben Sinclair", 
     id:"ed34b5a4-9b2f-102c-8475-9e610b13400a", 
     conflict:"true", 
     positions:[ 
      { 
      id:"f00c2128-8895-102d-80ee-95364de284f0" 
      }, 
      { 
      id:"f00c68ea-8895-102d-80ee-95364de284f0" 
      }, 
      { 
      id:"4cde6824-8897-102d-80ee-95364de284f0" 
      }, 
      { 
      id:"4cde9ea2-8897-102d-80ee-95364de284f0" 
      } 
     ], 
     locations:[ 
      { 
      id:"88fb5f94-aaa6-102c-a4fa-1f05bca0eec6" 
      }, 
      { 
      id:"930555b0-a251-102c-a245-1559817ce81a" 
      } 
     ] 
    }, 
    { 
     name:"Debbie Wright", 
     id:"fa49307a-9cfb-102d-bd08-842c500d506d" 
    } 
] 
</script> 

est-il de toute façon à modifier le tableau sans recharger la page? Par exemple, je veux ajouter conflict:"true"-Alan Lim ...

Par exemple:

Modifier ceci:

{ 
     name:"Alan Lim", 
     id:"54700f06-a199-102c-8976-b1732b7ffc74", 
     positions:[ 
      { 
      id:"4cdeb2a2-8897-102d-80ee-95364de284f0" 
      } 
     ] 
    }, 

à ceci:

{ 
     name:"Alan Lim", 
     id:"54700f06-a199-102c-8976-b1732b7ffc74", 
     conflict:"true", 
     positions:[ 
      { 
      id:"4cdeb2a2-8897-102d-80ee-95364de284f0" 
      } 
     ] 
    }, 

confiance qui fait sens :) Le raison de ceci est parce que j'utilise d'autres JavaScript pour tirer des informations de ce tableau. Quand je fais un changement avec l'autre JavaScript Je veux ajouter et soustraire à ce tableau pour refléter les changements ...

+0

Vous êtes autorisé à ajouter dynamiquement des propriétés à un élément de tableau. –

Répondre

6

Vous peut boucle jusqu'à trouver le membre que vous voulez (par nom, il paraît peu la question), puis le modifier, comme ceci:

for(var i=0; i<members.length; i++) { 
    if(members[i].name == "Alan Lim") 
    members[i].conflict = "true"; 
} 

You can give it a try here, ou le rendre un peu plus générique comme this:

function setProp(name, prop, value) { 
    for(var i=0; i<members.length; i++) { 
    if(members[i].name == name) 
     members[i][prop] = value; 
    } 
} 
3

Étant donné que votre tableau est indexé numériquement, pouvez-vous pas le faire:

members[0]['conflict'] = "true"; 
Questions connexes