2015-04-20 21 views
2

我有名为JsonTempArray的json数组。我有mappingId和Name两个字段。 enter image description here使用基于值的java脚本更新Json对象

单击男性或女性时它会自动创建5个映射ID(1到5) 并且名称字段为空。 ,如: -

JsonTempArray[length]= 
{ 
    mappingid: Number,//Number has 1 to 5 
    Name:"" 
} 

而且我会为每个5人,以填补他们的名字波纹管文本框。

enter image description here

下面我有一块代码更新名称字段

for(var len=0;len<JsonTempArray.length;len++) 
    { 
     if (JsonTempArray[len].Mappingid= mapid) { 
      JsonTempArray[len].Name= document.getElementById('txtName'+len).value; 
      } 
     } 

我会通过特殊mappingid同时单击文本框此。

比如:输入法是:

1 John 
2 Jack 
3 Kin 
4 Fin 
5 Hol 

但更新后JsonTempArray有

5 Hol 
5 Hol 
5 Hol 
5 Hol 
5 Hol 

请帮我找到如何更新循环的每个值。

谢谢

+0

你是否检查过'mapid'的值? –

+0

如果我将键入第一个文本框的值,mapid是1,如果第二个mapid是2等等。 – IMRUP

+0

如果可能,你可以创建一个小提琴吗? – Zee

回答

1

我找到了解决方案。我不应该在我的情况下使用for循环。

JsonTempArray[id].Name= document.getElementById('txtName'+id);//id is 1/2/3/4/5(mappingid) 

谢谢你的帮助。

1

的问题在这里不是检查你这里居然分配:

if (JsonTempArray[len].Mappingid= mapid) { 

它应该是:

if (JsonTempArray[len].Mappingid == mapid) {