在javascript中迭代数组的问题

时间:2014-04-22 10:30:36

标签: javascript jquery

我有一个名为a[]的数组,其中包含city_id和城市名称

然后我正在编辑,我会收到cityIDcountryid等详细信息

并将其保存在var b= cityID

现在获取cityname并附加到字段textbox

我正在通过每个函数迭代数组

 function f1() {
     jQuery(a). each(function(m) {
         if(this.city_id(from array a) == cityID)
             if(c== "") {
                 c += this.cityname;
             } else {
                 c += ","+ this.cityname;
             }
     }); 
 }

c是一个全球var问题是点击修改我得到c,如BombayDelhiPuna < / p>

但下次再次点击另一个单选按钮获取该详细信息时,会将其附加到BombayDelhiPunaChennai,而不是清除第一个。

3 个答案:

答案 0 :(得分:0)

您需要在函数开头将c重置为空字符串:

function f1() {
    c = '';
    $(a).each(...);
}

答案 1 :(得分:0)

您可以将c作为局部变量,而不是使用全局变量c,而是在function的末尾返回。

function f1() {
  var c ='';
  jQuery(a). each(function(m) {
     if(this.city_id(from array a) == cityID)
         if(c== "") {
             c += this.cityname;
         } else {
             c += ","+ this.cityname;
         }
  }); 
  return c;
}

答案 2 :(得分:0)

试试这个.. 这里我每个obj都在一个数组中。

$.each( a, function( i, val ) {
  if(i.city_id== cityID)
             if(c== "") {
                 c += this.cityname;
             } else {
                 c += ","+ this.cityname;
             }
});