带数据源的KendoMultiSelect发送带请求的所有项目

时间:2013-07-29 09:59:34

标签: kendo-ui

我一直在努力实现具有完整读/写功能的Kendo UI MultiSelect控件大约三周(作为我家时的评估)。鉴于使用Kendo UI DataSource和MultiSelect的例子很少,我发现这非常具有挑战性。

我90%的路在那里。我似乎无法破解更新。当我添加几个项目,然后单击一个提交按钮(调用DataSource的sync方法)时,MultiSelect中的每个项目都会转发到服务器,请求为JSON。也就是说,Read返回的每个项目,无论是在MultiSelect中选择的,都不是。

以下是一些代码段:

$(function () {

var ds = new kendo.data.DataSource({
    type: "json",
    serverFiltering: true,
    transport: {
        read: {
            url: '/api/Members/Members',
            dataType: "json",
            contentType: 'application/json; charset=utf-8',
            type: "GET"
        },
        update: {
            url: "/Home/Update",
            dataType: "json",
            type: "POST",
            contentType: 'application/json; charset=utf-8',
        },
        create: {
            url: "/api/Members/Update",
            dataType: "json",
            contentType: 'application/json; charset=utf-8',
            type: "POST"
        },
        parameterMap: function(data, type) {
            return kendo.stringify(data);
        }
    },

    batch: true,
    schema: {
        parse: function(response) {
            return JSON.parse(response);
        },
        model: {
            Id: 'Id'
        }
    }
});

var teeTimes =
$('#TeeOffTimes').kendoMultiSelect({
    placeholder: "Select members...",
    dataTextField: "FirstName",
    dataValueField: "Id",
    autoBind: true,
    dataSource: ds,
    itemTemplate: $("#members-template").html(),
    value: ['1']
}).data("kendoMultiSelect");


$('#submit').on('click', function () {
    var val = teeTimes.value();
    ds.sync();
});

});

有没有办法让DataSource只提交用户在同步时选择的项目?或者它不能那样工作?

由于

0 个答案:

没有答案