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

时间:2010-08-25 09:11:40

标签: javascript jquery ajax json

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

提前Thanx!

2 个答案:

答案 0 :(得分:6)

这应该可以解决问题:

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

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

答案 1 :(得分: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>");
   });    
 });
});
以上示例的

offcourse依赖于具有以下格式的json。

{ 
   "0":  {"title":"option1", "value":"1"},
   "1":  {"title":"option2", "value":"2"}
}

<强>编辑: 您还需要熟悉选择框更改事件http://api.jquery.com/change/:所选选择器,以便您从选择框中获取所选选项 http://api.jquery.com/selected-selector/,如$("select option:selected")