2017-03-31 49 views
0

我試圖填充一個JSON和jQuery一個下拉列表。我在名爲「腳本」的項目文件夾中有一個.json文件,我的所有.js文件也都放在這裏。 這就是:時遇到填充的<asp:DropDownList中>使用jQuery和JSON

{ 
    Cities: [{ 
     "City": "Sofia", 
     "cityID": "1" 
    }, { 
     "City": "Plovdiv", 
     "cityID": "2" 
    }, { 
     "City": "Varna", 
     "cityID": "3" 
    }, { 
     "City": "Burgas", 
     "cityID": "4" 
    }, 
    { 
     "City": "Rousse", 
     "cityID": "5" 
    }, 
    { 
     "City": "Stara Zagora", 
     "cityID": "6" 
    }, 
    { 
     "City": "Pleven", 
     "cityID": "7" 
    }, 
    { 
     "City": "Sliven", 
     "cityID": "8" 
    }, 
    { 
     "City": "Dobrich", 
     "cityID": "9" 
    }, 
    { 
     "City": "Shumen", 
     "cityID": "10" 
    }] 
} 

這裏是我的JS是在頁面上。

$(document).ready(function() { 
    $.getJSON("Scripts/cities.json", function (obj) { 
     $.each(obj.cities, function (key, value) { 
      $("#db_City").append("<option>" + value.City + "</option>"); 
       }); 
     }); 

我不明白爲什麼它沒有填充,我不能告訴我失蹤,因爲我是一個完整的新手。感謝您提前收到的任何提示/建議。

+0

就如JavaScript和jQuery而言,有沒有這樣的事,作爲一個'ASP:DropDownList'。這只是普通的HTML。因此,請查看瀏覽器中的實際HTML。並確保您的ID是匹配。在JavaScript控制檯中查找錯誤也是如此。另外,如果你第一次學習ASP.NET,你爲什麼要浪費時間使用Web Forms?該框架即將死亡。學習[MVC](https://www.asp.net/mvc)! – mason

回答

1

你有兩個問題:

    在腳本
  • /cities.json你有城市:更改爲 「城市」
  • 在你有obj.cities每個循環:改變obj.Cities

在任何情況下,你可以宣佈你的JSON作爲一個庫,包括它像一個正常的JS。將對象關聯到變量就足夠了。

的片段:

var obj = { 
 
    Cities: [{ 
 
     "City": "Sofia", 
 
     "cityID": "1" 
 
    }, { 
 
     "City": "Plovdiv", 
 
     "cityID": "2" 
 
    }, { 
 
     "City": "Varna", 
 
     "cityID": "3" 
 
    }, { 
 
     "City": "Burgas", 
 
     "cityID": "4" 
 
    }, 
 
     { 
 
      "City": "Rousse", 
 
      "cityID": "5" 
 
     }, 
 
     { 
 
      "City": "Stara Zagora", 
 
      "cityID": "6" 
 
     }, 
 
     { 
 
      "City": "Pleven", 
 
      "cityID": "7" 
 
     }, 
 
     { 
 
      "City": "Sliven", 
 
      "cityID": "8" 
 
     }, 
 
     { 
 
      "City": "Dobrich", 
 
      "cityID": "9" 
 
     }, 
 
     { 
 
      "City": "Shumen", 
 
      "cityID": "10" 
 
     }] 
 
}; 
 

 

 
//$.getJSON("..../data.json", function (obj) { 
 
    $.each(obj.Cities, function (key, value) { 
 
     $("#db_City").append("<option>" + value.City + "</option>"); 
 
    }); 
 
//});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 

 
<select id="db_City"></select>

+0

謝謝,解決了兩個問題使得drodownlist能夠完美工作。 –

+0

:)很高興幫助你 – gaetanoM