我从php检索数据并动态地将它们添加到列表视图中。如果我“动态”添加静态数据,一切看起来都很完美,但是当从php文件中检索数据时,jQuery Mobile会在list-entries之后添加一个空格。有没有已知的问题?!
我的js文件看起来像:
userda = '';
$.ajax({
type: "POST",
url: "userdata.php",
data: {"iduser": iduser},
dataType: 'json',
cache: false,
success: function(data1){
userda += '<li data-role="list-divider">Name</li>';
userda += '<li>'+data1.data.fname+' '+data1.data.lname+'</li>';
userda += '<li data-role="list-divider">Money</li>';
userda += '<li>'+data1.data.money+'</li>';
userda += '<li data-role="list-divider">Headlines</li>';
$.each(data1.headlines, function(i, currentObj) {
userda += '<li>' + currentObj + '</li>';
});
$('ul#userdatalist').html(userda).listview('refresh');
}
});
我的HTML文件看起来像
<ul data-role="listview" data-inset="true" data-theme="c" data-divider-theme="a" id="userdatalist">
</ul>
(json)数据看起来像:
{"data":{"fname":"test","lname":"test","money":"47"},"headlines":["Promis","Unterhaltung","Unterwaesche"]}
结果如下:http://imageshack.us/photo/my-images/705/bildschirmfoto20120619uj.png/
我看不出任何问题,但我的第二个列表视图我遇到了同样的问题。
答案 0 :(得分:0)
两个想法:
您是否偶然有任何.live()或.delegate()函数可能会弄乱您的列表?
您可以尝试使用标准for循环并与jquery结合使用(因为您在'success'中使用标准j而不是jquery)或者在.each()循环中使用jquery:
var $ul = $('ul#userdatalist'); // selector to the ul being filled
// (btw: since an id has to be unique,
// it is useless to prepend the tagType
$ul.append(userda); // this is the jquery way -
// more or less ;)
for (var i = 0;i < data1.headlines.length; i++) {
$e = $("<li/>").text(data1.headlines[i]); // you could do this in your
//.each()-loop as well, thus
$u.append($e); // sticking to jquery
}