Mvvm dropdwonlist in kendoui

落爺英雄遲暮 提交于 2019-12-01 06:37:51
CodingWithSpike

Figuring out what DropDown item is selected is a little... unintuitive, but here is what you want:

<script id="Access-template" type="text/x-kendo-template">
    <li>
        <input type="checkbox" data-bind="checked: selected" />
        <label data-bind="text: AccessName" />
    </li>
</script>

<select
    data-role="dropdownlist"
    data-bind="source: roles, events: { select: roleSelected }"
    data-text-field="roleName"
    data-value-field="roleId"></select>

<ul data-template="Access-template"
    data-role="listview"
    data-bind="source: accessItem"></ul>

...and...

$(document).ready(function () {

    var roles = [{
        roleName: "Admin",
        roleId: 1,
        accessItem: [{
            AccessName: 'Create',
            selected: true
        }, {
            AccessName: 'Delete',
            selected: true
        }, {
            AccessName: 'Update',
            selected: true
        }]
    }, {
        roleName: "User",
        roleId: 2,
        accessItem: [{
            AccessName: 'Create',
            selected: false
        }, {
            AccessName: 'Delete',
            selected: false
        }, {
            AccessName: 'Update',
            selected: true
        }]
    }];

    var viewModel = kendo.observable({
        roles: roles,
        accessItem: roles[0].accessItem,
        roleSelected: function (e) {
            this.set("accessItem", this.roles[e.item.index()].accessItem);
        }
    });

    kendo.bind("body", viewModel);
});

Working jsFiddle here: http://jsfiddle.net/rally25rs/JHNm6/

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!