为autidividers设置自定义属性
我试图划分一个动态填充jQuery-mobile的ListView。 我正在设置一些属性status="true"
listitems和一些status="false"
,并想知道是否可以自动将它们分成两组(Downloaded / Not downloaded)?
这是我的HTML:
我的JS:
var $li; var $status = 'false'; window.resolveLocalFileSystemURL(fileSource + val.title + ".pdf", success, fail); // if file exists function success() { $li.find("a").on("click", function(){ openPdf(val.title); }); $status = 'true'; } // if file doesnt exists function fail() { $li.find("a").on("click", function(){ downloadPdf(val.title,val.url); }); $status = 'false'; } $li = $(""+val.title+" "); $("#linkList").append($li).listview('refresh'); $("#linkList").listview({ autodividers: true, autodividersSelector: function (li) { var out = li.attr('status'); return out; } }).listview('refresh');
那么,是否可以自动执行此操作,或者我必须按代码进行排序,并添加分隔符。 代码本身并没有添加任何分隔符。
首先,如果您的列表已按状态排序,则自动转移器才能正常工作。 因此,您需要在将其添加到UL之前对其进行排序。
接下来,对于状态,您可以在LI上使用数据属性或在li中使用锚点:
'' + item.val + ' '
然后在添加项目时,设置autodividersSelector以检索锚点上的数据属性:
$('#linkList') .empty() .append(allfiles) .listview({ autodividers:true, autodividersSelector: function ( li ) { var out = li.find('a').data("status"); return out; } }) .listview("refresh");
工作演示