Datazombies listIndex

时间:2011-11-23 17:42:43

标签: jquery cordova jqtouch

我正在使用jqtouch的DataZombies fork来创建索引列表。我包括扩展脚本和css,并使用以下行标记:

<div class="s-scrollwrapper indexed">    
    <ul id="county-list" class="edgetoedge">
        <li id="A" class="sep" >A</li>
        <li>test A</li>
        <li id="B" class="sep" >B</li>
        <li>test B</li>
        <li id="C" class="sep" >C</li>
        <li>test C</li>
        <li id="D" class="sep" >D</li>
        <li>test D</li>
    </ul>
</div>

这很好用。但是当我使用jquery重写列表的内容时,跳转到索引功能不起作用。我尝试在DOM更改后调用以下函数...

initListIndices()

......但它不起作用。右侧的索引仍然出现,分隔符li上的样式都很好,但它没有做到这一点。有什么建议吗?

1 个答案:

答案 0 :(得分:0)

我解决这个问题的方法是创建一个清除列表标记数据的函数。在调用initListIndices()之前调用它然后将索引类重新添加到列表包装中似乎可以解决它。

function clearListIndices() {
    // for each element with the class of .indexed
    $('body').find('.indexed').each(function(){
        // reset the listIndex data associated with this element
        $(this).data('listIndex', null);
        // removed the class to avoid multiple instances of the class    
        $(this).removeClass('indexed');     
    });

    // for each listIndex ul
    $('body').find('.listIndex').each(function(){
        // remove this from the DOM
        $(this).remove(); 
    });
}