Dynamically Appending Elements to jQuery Mobile ListView

后端 未结 5 2052
执念已碎
执念已碎 2020-12-15 12:45

I want to dynamically append data received via an url in JSOn format to my listview. But i can\'t figure out how it works.

The mobile website retrieve the object in

5条回答
  •  北荒
    北荒 (楼主)
    2020-12-15 13:26

    //make AJAX call to url
    $.getJSON("url", function(data){
    
        //declare a variable with which to build our output (it's best to buffer output and only do one append at the end since DOM manipulation is CPU expensive)
        var output = '';
    
        //iterate through the data (we could also get rid of the jQuery here by using `for (key in data) {
        $.each(data, function(index, value){
    
            //add each value to the output buffer (we also have access to the other properties of this object: id, start, and end)
            output += '
  • ' + value.title + '
  • '; }); //now append the buffered output to the listview and either refresh the listview or create it (meaning have jQuery Mobile style the list) $('#listview').append(output).listview('refresh');//or if the listview has yet to be initialized, use `.trigger('create');` instead of `.listview('refresh');` });

    Here is a jsfiddle of the above solution (there is also an example of using for(){} instead of $.each()): http://jsfiddle.net/VqULm/

提交回复
热议问题