使用jquery将json字符串与下拉列表绑定

时间:2013-12-28 09:43:15

标签: javascript jquery json gson

我是jQuery的新手。我正在使用gson-2.2.3.jar

在我的servlet中创建json字符串
Gson gs = new Gson();
    String json = gs.toJson(names);
    System.out.println(json);
    PrintWriter out = resp.getWriter();
    out.println(json);
    out.close();

以下是我尝试将json字符串与下拉列表绑定的两个注释代码,但它们都不起作用:

$.ajax({
         type:"POST",
         url: "DropDownController",
         success: function(result){
            alert(result);
            /* for (var id in result) {
                $("#drpDown").append('<option value="'+id+'">'+id+'</option>');
            } */
            /* $.each(result, function (index, value) {                 
                $("#drpDown").append('<option value="'+value.id+'">'+value.name+'</option>');
            }); */
         }
      });

success中的警告消息框以下列格式显示json字符串:

["Alabama","California","Alaska","Ohio"]

请告诉我如何将上述json string数据与下拉列表绑定。

2 个答案:

答案 0 :(得分:3)

试试这样:

$.ajax({
    type: 'POST',
    url: 'DropDownController',
    dataType: 'json',
    success: function(result) {
        $.each(result, function() {
            $("#drpDown").append(
                $('<option/>', {
                    value: this,
                    html: this
                })
            );
        });
    }
});

答案 1 :(得分:2)

试试这个

var jso=["Alabama","California","Alaska","Ohio"]
for (var i in jso) {
  $("#test").append('<option value="'+jso[i]+'">'+jso[i]+'</option>');
} 

DEMO