2015-11-08 55 views
2

我已经写了下面的代码,生成一个选择列表。然而,它应该检查this.id是否等于与existing_code相同并将选定值放入的部分似乎不起作用。javascript foreach选择循环与选定的值

任何想法是什么错?

function showHide(layer, existing_code) { 

jQuery.ajax({ url: 'getdata.php', dataType: 'json', cache: 'false', success: function(data) { 

    var codes = codes; 
    var selectcode = ''; 

    selectcode += '<select name="codes">'; 
     jQuery.each(codes, function() { 
      selectcode += '<option value="' + this.id + '"'; 
       if (this.id == existing_code) { 
        selectcode += ' selected'; 
       } 
      selectcode += '>' + this.code + '</option>'; 
     }); 
    selectcode += '</select>'; 

    jQuery('.'+layer).html(selectcode); 

}}); 

} 
+2

'VAR码=码;' - 嗯,这不是非常有用的,它是......你也没有“ '元素 - 从ajax返回的'data'也被忽略,所以,不知道你期望什么 –

回答

0

这可能是你想要什么:

function showHide(layer, existing_code) { 

    jQuery.ajax({ url: 'getdata.php', dataType: 'json', cache: 'false', success: function(data) { 

     var codes = data; 
     var selectcode = ''; 

     selectcode += '<select name="codes">'; 
     jQuery.each(codes, function(i, code) { 
      selectcode += '<option value="' + code.id + '"'; 
      if (code.id === existing_code) { 
       selectcode += ' selected'; 
      } 
      selectcode += '>' + code.code + '</option>'; 
     }); 
     selectcode += '</select>'; 

     jQuery('.'+layer).html(selectcode); 

    }}); 

}