2016-04-21 5 views
0

Я пытаюсь заполнить dropDownList на основе массива JSON, который я получаю из веб-службы.Заполнение dropDownList из массива JSon

Вот пример массива Json, что я получаю:

[{"id":1,"name":"AJ Shaw"},{"id":2,"name":"Jay Black"}] 

Вот мой Javascript, что я использую, чтобы попытаться загрузить DROPDOWNLIST

function load_level1() { 
     $.ajax({ 
      url: '<%=ResolveUrl("/facility/getTaxLevel1_LOV")%>', 
      contentType: "application/json; charset=utf-8", 
      dataType: "json", 
      method: "GET", 
      success: function (Result) { 
       $.each(Result, function(key, value) { 
        $("#level1").append($("<option></option>").val 
         (value).html(value)); 
       }); 
      }, 
      error: function (Result) { 
       alert("Error"); 
      }, 
      failure: function (Result) { 
       alert(response.responseText); 
      } 
     }); 
    } 

Вот мой объект DROPDOWNLIST:

<asp:DropDownList ID="level1" runat="server" AppendDataBoundItems="true" ><asp:ListItem Selected="True" Value="Select Level 1" ></asp:ListItem></asp:DropDownList> 

Я просто хочу заполнить dropDownList идентификатором и именем. Это не может быть так сложно, но я потерян. Какие-либо предложения?

+0

'<жерех: DrownDownList>' является одним из компонентов на стороне сервера. Можно ли загружать элементы на сервере, а не на клиенте (через AJAX)? –

ответ

0

попробовать это в запросе функции успех АЯКС

$.each(Result,function(key,value){ 
    $("#level1").append($("<option></option>").val(value.id).html(value.name)); 
}); 
+0

Он по-прежнему не заполняет мой dropDownList. Глядя в Chrome Debugger, я получаю сообщение о «jquery-1.10.2.min.js: 21 Uncaught TypeError: не может использовать оператор« in »для поиска« 1047 »в [{« id »: 1,« name » : .....}] – kjcook

+0

Убедитесь, что в вашем json нет недопустимых символов. Попробуйте выполнить этот код. '$ .each ([{" id ": 1," name ":" AJ Shaw "}, {"id": 2, "name": "Jay Black"}], function (key, value) {console.log (value.name)}); ' –

Смежные вопросы