-1

我需要关于剑道自动完成小部件的帮助......也许这是一个愚蠢的问题,但我无法找到解决方案!我的 kendoAutoComplete 小部件,从 ac# webservice 获取数据:

 [ScriptMethod(ResponseFormat = ResponseFormat.Json, UseHttpGet = false)]
 [WebMethod]
    public string getComuniList()
    {
        using (PrintInvoicesDataContext context = new PrintInvoicesDataContext())
        {
            List<comuni_italia> comuni = new List<comuni_italia>();
            comuni = context.comuni_italia.ToList();

            var jsonStr = JsonConvert.SerializeObject(comuni, Formatting.Indented);
            return jsonStr;
        }

    }

此方法返回一个长对象数组,如下所示:

[  {id_comune: 1, des_comune: "Milano", cod_comune: "A130", cap_comune: "64022"},
   {id_comune: 2, des_comune: "Torino", cod_comune: "A131", cap_comune: "64100"},
   ....
]

所以,当我在剑道自动完成小部件中选择一个项目时,在选择事件中,我需要将整个选定对象保存在一个变量中。

var comuneAutoComplete = $("#comune_w").kendoAutoComplete({
    minLength: 3,
    dataSource: dataSource,
    placeholder: "Inserisci comune...",
    dataTextField: "des_comune",
    dataValueField: "id_comune"
}).data("kendoAutoComplete").bind("select", function (data) {
    //here i want to save the object
    var comune = ????????
});

这样我就可以得到这样的字段值:

var id_com = comune.id_comune;
var des_com = comune.des_comune;
..........

这是数据源的模型:

model: {
    fields: {
        id: "id_comune",
        id_comune: { type: "string" },
        des_com: { type: "string" },
        des_prv: { type: "string" },
        des_reg: { type: "string" },
        cod_com: { type: "string" },
        cod_prv: { type: "string" },
        cod_res: { type: "string" }
    }

可能吗??希望可以有人帮帮我!提前致谢。

4

1 回答 1

3

dataSource从所选项目获取数据是:

var comuneAutoComplete = $("#comune_w").kendoAutoComplete({
    minLength: 3,
    dataSource: dataSource,
    placeholder: "Inserisci comune...",
    dataTextField: "des_comune",
    dataValueField: "id_comune"
}).data("kendoAutoComplete").bind("select", function (data) {
    //here i want to save the object
    var comune = this.dataItem(e.item.index());
    ...
});
于 2013-05-20T16:06:33.527 回答