动态字母分隔线

时间:2012-11-19 15:12:07

标签: jquery jquery-mobile knockout.js

如何为可观察数组创建的列表创建字母分隔符?我希望列表除以姓氏。它已经排序,只需要分隔符。

列表在此处创建:

function GetUsersByLocation(){

        var url = 'http://localhost/Service.svc/GetUsersByLocation/'+localStorage.CurrentLocationId;

        var jqxhr =
        $.getJSON(url,
        function (data) 
        { 
            userViewModel.clearUsers();
            $.each(data.GetUsersByLocationResult, function (key, val) {
                userViewModel.addUser(val.FirstName, val.LastName);
            });
            ko.applyBindings(userViewModel, document.getElementById("usersListView"));
        })
         .success(function () { $('#usersListView').listview('refresh'); })
    }

并在此实施:

<div>
    <ul id="usersListView" data-bind="template: {name: 'usersListTemplate', foreach: users}" data-role="listview" data-filter="false" data-filter-placeholder="enter a colleague's name..."></ul>
</div>
<script id="usersListTemplate" type="text/html">
    <li><a href="javascript: void(0)">
        <table>
            <tr class="colleague">
                <td>
                    <table>                         
                        <tr><td><span class="firstname_" data-bind="text: firstname"></span>&nbsp;<span data-bind="text: lastname"></span></td></tr>
                    </table></a>
                </td>
            </tr>
        </table>
    </li>
</script>

1 个答案:

答案 0 :(得分:1)

如果您使用的是1.2,则可以添加data-autodividers =“true”属性,如here所示。如有必要,可以在列表视图上设置autodividersSelector选项以指定自定义选择器。

  

列表视图可以配置为自动为其项目生成分隔符。这是通过向任何列表视图添加data-autodividers =“true”属性来完成的。