2012-02-17 246 views
1

这是返回的JSON数据:我需要把它放到下拉列表中选择列表JSON数据到下拉列表中选择使用jQuery

({"Data":{"Alabama":"AL","Alaska":"AK","Arizona":"AZ","Arkansas":"AR","California":"CA","Colorado":"CO","Connecticutt":"CT","Delaware":"DE","Florida":"FL","Georgia":"GA","Hawaii":"HI","Idaho":"ID","Illinois":"IL","Indiana":"IN","Iowa":"IA","Kansas":"KS","Kentucky":"KY","Louisiana":"LA","Maine":"ME","Massachusetts":"MA","Michigan":"MI"}}) 

$.getJSON(url + 'GetStateList?jsoncallback=?', 
    function (json) { 
     if (!jQuery.isEmptyObject(json.Data)) { 
      //need to write logic 
     } 
    }); 

任何人都可以帮我解决这个问题吗?

+0

相关:http://stackoverflow.com/questions/94674/jquery-create-select-list -options-from-json-not-occurrence-as-advertised – JMax 2012-02-17 16:02:01

+0

http://stackoverflow.com/questions/317095/how-do-i-add-options-to-a-dropdownlist-using-jquery – Fox32 2012-02-17 16:02:21

回答

2

这只是一个简单的例子,随意使用它作为一个起点:

<HTML> 
<HEAD> 
    <TITLE>Test Example</TITLE> 
</HEAD> 
<BODY> 
    <form> 
     <select id="sel" /> 

    <script> 
    function fill() { 
     var obj = ({"Data":{"Alabama":"AL","Alaska":"AK","Arizona":"AZ","Arkansas":"AR","California":"CA","Colorado":"CO","Connecticutt":"CT","Delaware":"DE","Florida":"FL","Georgia":"GA","Hawaii":"HI","Idaho":"ID","Illinois":"IL","Indiana":"IN","Iowa":"IA","Kansas":"KS","Kentucky":"KY","Louisiana":"LA","Maine":"ME","Massachusetts":"MA","Michigan":"MI"}}); 
     var s = document.getElementById('sel'); 
     var i = 0; 
     for(var propertyName in obj.Data) { 
     sel.options[i++] = new Option(propertyName, obj.Data[propertyName], true, false); 
    } 
    } 

    fill(); 
    </script> 
    </form> 
</BODY> 
</HTML> 
+0

感谢您的回答! – Krishh 2012-02-17 16:42:43

3
var data = 'jsonstring', i, select = $('select'); 

for(i in data){ 

    select.append($('<option value="' + data[i][1] + '">' + data[i][0] + '</option>')); 

} 
+0

只有结果返回状态名称和状态的第一个字母 – Krishh 2012-02-17 16:43:21