Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
1.0k views
in Technique[技术] by (71.8m points)

jquery - I need help populating my dropdown with my JSON response

I'm getting JSON back in this format from my C# webmethod:

{"d":["ADAMS CITY","BOULDER","ANTON","ARBOLES"]}

I now have a asp.net dropdown. Well, it renders as a html dropdown with #city id.

I'm getting a success alert on my AJAX request. How can I populate these results into my #city dropdown?

Tried this:

 success:
                function (data) {
                var values = eval(data.d);
                var ddl = $("#parkCity");
                $('option', ddl).remove();
                ddl.html(data);
                alert("Cities loaded");
            },
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Here's something that should do fine inside of your success callback:

var $select = $("#parkcity");

$.each(data.d, function(i, el) {
    console.log(el);
    $select.append($("<option />", { text: el }));
});

Example: http://jsfiddle.net/z2D8f/

Or an alternative that appends the HTML all at once, which is probably faster:

var html = $.map(data.d, function(el) {
    return "<option>" + el + "</option>";
});

$("#parkcity").append(html.join(''));

Example: http://jsfiddle.net/pUhw2/


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...