2014-11-22 48 views
0

我在這裏有一個漫長的夜晚如何綁定到來自json項目的下拉值

web服務的結果是在json中。但是,返回的數據隨診斷數據一起提供。 如何獲得結果集?

這裏是我的代碼:

http://jsfiddle.net/bkyg23cx/

$(document).ready(function() 
 
{ 
 
    $.ajax(
 
    { 
 
     type: "POST", 
 
     contentType: "application/json; charset=utf-8", 
 
     url: "http://website.com", 
 
     data: data, 
 
     dataType: "json", 
 
     success: function (data) 
 
     { 
 
      alert('Total results found: ' + data.result.total); 
 
      $.each(data.result.records, function (value) 
 
      { 
 
       $("[id$='uxRegion']").append($("<option></option>").val(value.province).html(value.province)); 
 
      }); 
 
     } 
 
     error: function ajaxError(response) 
 
     { 
 
      alert(response.status + ' ' + response.statusText); 
 
     } 
 
    }); 
 
});

這裏是有問題的JSON值

{ 
 
    "value1": "etetetetete", 
 
    "value2": true, 
 
    "result": { 
 
    "records": [ 
 
     { 
 
     "province": "Star world" 
 
     }, 
 
     { 
 
     "province": "CNN" 
 
     } 
 
    ], 
 
    "fields": [ 
 
     { 
 
     "type": "text", 
 
     "id": "province" 
 
     } 
 
    ], 
 
    "hash": "hash value" 
 
    } 
 
}

+0

什麼是$ .each函數中的data.d?我認爲你必須使用'$ .each(data.result.records,function ...' – peppeocchi 2014-11-22 11:53:51

回答

0

您可以設置data.result.records作爲一個局部變量records,就像下面:

success: function (data) { 
    var records = data.result.records; 

    alert('Total results found: ' + records.length); 

    $.each(records, function (value) { 
     $("[id$='uxRegion']").append($("<option></option>") 
          .val(value.province) 
          .html(value.province)); 
    }); 
} 

而且你不必結果對象total屬性,你應該使用.length

+0

這看起來不錯,但嘗試應用它,它不工作。我添加整個HTML – 2014-11-22 12:29:41