使用jQuery,JSON和AJAX填充下拉列表

Ody*_*3us 2 javascript ajax jquery json

就像标题所说,我正在尝试使用jQuery,JSON和AJAX创建一个下拉菜单,虽然我熟悉我尚未将其付诸实践的理论,任何建议,演示代码片段或教程都将受到赞赏,因为我想开始最好的开始!

Thanx提前!

Kwa*_*tie 6

这应该做的伎俩:

$.getJSON("test.php", function(data){
  $.each(data, function(index, text) {
    $('#mySelect').append(
        $('<option></option>').val(index).html(text)
    );
  });
});
Run Code Online (Sandbox Code Playgroud)

注意:test.php应该返回一个json编码的数组


Aya*_*avi 5

您需要执行$ .getJSON调用来从document.load或其他一些事件http://api.jquery.com/jQuery.getJSON/上的服务器获取json .之后,您必须遍历数据并将其附加到您的选择框.看到http://www.jsfiddle.net/Dyc9Y/1/

<select id="fillME"></select>
<button id="startFilling" value="">Start ajax</button>
$(function(){
 var json = {
                 "0":  {"title":"localjsonOPtion1", "value":"b"},
                 "1":  {"title":"localjsonOPtion2", "value":"a"}
            };

  $("#startFilling").click(function(){

    $.getJSON("http://localdev.myvouchercodes.co.uk/local/default/search/jsonresponse", function(data){
         $("#fillME").html("");
        for(key in data)
            $("#fillME").append("<option value='"+json [key].value+"'>"+json[key].title+"</option>");
        for(key in json)
            $("#fillME").append("<option value='"+json [key].value+"'>"+json[key].title+"</option>");
   });    
 });
});
Run Code Online (Sandbox Code Playgroud)

以上示例的offcourse依赖于以下格式的json.

{ 
   "0":  {"title":"option1", "value":"1"},
   "1":  {"title":"option2", "value":"2"}
}
Run Code Online (Sandbox Code Playgroud)

编辑: 您还需要熟悉选择框更改事件http://api.jquery.com/change/和:选择的选择器,允许您从选择框中获取所选选项 http://api.jquery.com/选择选择器/ 喜欢 $("select option:selected")