我正在尝试从我调用的AJAX调用的响应中创建一个列表。
格式1:
$.ajax({
url: "BirthdayInvitations.xml",
dataType: "xml",
success: function ParseXml(xml) {
$("div#menu").append('<ul "data-role="listview"> ');
var ul = $("div#menu > ul");
$(xml).find("event").each(function() {
$(ul).append('<li><a href="' + "hai" + '">' + this.textContent+ '</a></li>');
});
$('ul').listview('refresh');
}
});
格式2:
我甚至尝试过使用以下格式。
$('ul').append($('<li/>', { //here appendin `<li>`
'data-role':"listview"
}).append($('<a/>', { //here appending `<a>` into `<li>`
'href': 'test.html',
'data-transition': 'slide',
'text': '$(this).textContent'
})));
格式1的结果是锚标记的简单列表。
请帮我解决问题,我需要一个动态创建的列表视图。
格式2:根本不起作用。
答案 0 :(得分:0)
我修改了你的第一个例子。附加普通LI
标签的问题听起来像this.textContent
调用您的XML数据没有找到任何东西,是否是正确的标签/属性名称?
$.ajax({
url: "BirthdayInvitations.xml",
dataType: "xml",
success: function(xml) {
var $ul = $("<ul></ul>").data("role", "listview");
$(xml).find("event").each(function() {
$ul.append('<li><a href="' + "hai" + '">' + this.textContent + '</a></li>');
});
$ul.appendTo("DIV#menu");
$ul.listview('refresh');
}
});
答案 1 :(得分:0)
我猜你需要第一次调用$ ul.listview('create'),因为listview尚未创建 - 'refresh'只能在连续调用中调用..