2016-03-04 23 views
0

我使用的是Symfony2,當我將JSON中的兩個數組返回給一個jQuery代碼時,我無法循環使用,我總是有「undefined」但沒有錯誤:here是我的jQuery代碼:JSON響應中的兩個數組上的Jquery循環

$(".select-zone").change(function() { 

    var select = $(".select-lieu"); 
    var value = $(this).val(); 

    select.empty().append("<option value='-1'>Lieu/Salle</option>"); 
    if (value != -1) { 
     $.ajax({ 
      url: Routing.generate('admin_default_getlieusallebyzone', { 
       id: value 
      }), 
      dataType: 'json' 
     }).done(function(data) { 
      $.each(data, function(i) { 
       $.each(data[i], function(val1) { 
        var id = val1.id; 
        var libelle = val1.nom; 
        var numero = val1.numero; 
        if (numero != undefined) { 
         select.append("<option value=" + id + ">" + libelle + " - " + numero + "</option>"); 
        } else { 
         select.append("<option value=" + id + ">" + libelle + " </option>"); 
        } 

       }); 

       $.each(data[i], function(val2) { 
        var id = val2.id; 
        var libelle = val2.nom; 
        var numero = val2.numero; 
        if (numero != undefined) { 
         select.append("<option value=" + id + ">" + libelle + " - " + numero + "</option>"); 
        } else { 
         select.append("<option value=" + id + ">" + libelle + " </option>"); 
        } 

       }); 
       select.prop('disabled', false); 
      }) 
     }); 
    } 
}); 

我該如何解決這個問題?

+0

究竟你從路線'admin_default_getlieusallebyzone'在你的控制器返回?你能粘貼輸出嗎? – takeit

+0

你可以粘貼你的json響應嗎? – danielpm

+0

我的json響應是:http://puu.sh/nvJSO/8ef376f8e3.png和seconde數組:http://puu.sh/nvJUx/396d4a9fbb.png – Folker

回答

0

您使用$.ajax()的方式似乎有點無效的,因爲你必須有data:{}到值發送到相應的URL和dataType應該是在$.ajax()的選項。

改成這樣:

$.ajax({ 
    url: Routing.generate('admin_default_getlieusallebyzone', 
    data:{ 
     id: value 
    }, 
    dataType: 'json' 
})