2

我编写了这段代码来使用剑道 UI 自动完成功能。我需要在文本框中显示所选结果的标题并将 if 保留在一些隐藏的输入中,我怎样才能获得 id。似乎选择不起作用。

 $("[data-autocomplete]").each(function () {
            var luurl = $(this).attr('data-lookupurl');
            var thisElemt = $(this);
            $(this).kendoAutoComplete({
                minLength: 3,
                separator: ", ",
                dataTextField: "title",
                select: function (e) {
                    var selectedOne = this.dataItem(e.item.Index());
                    console.log(kendo.stringify(selectedOne));
                },
                dataSource: new kendo.data.DataSource({
                    serverFiltering: true,
                    serverPaging: true,
                    pageSize: 20,
                    transport: {
                        read: luurl,
                        dataType: "json",
                        parameterMap: function (data) {
                            return { title: thisElemt.val() };
                        },
                        schema: {
                            model: {
                                id: "id",
                                fields: {
                                    id: { type: "id" },
                                    title: { type: "string" }
                                }
                            }
                        }
                    }
                })
            });
        });
4

3 回答 3

2

有一个错字错误,你应该使用:e.item.index()而不是e.item.Index()index是小写的)。

所以选择功能将是:

select       : function (e) {
    var selectedOne = this.dataItem(e.item.index());
    console.log(kendo.stringify(selectedOne));
},
于 2013-04-14T23:12:28.467 回答
2

更简单的方法是:

var autocomplete = $("#autoCompleteId").data("kendoAutoComplete");
console.log(autocomplete.listView._dataItems[0]);

您可以访问 autocomplete.listView._dataItems[0] 对象中的选择数据项

于 2015-06-15T14:25:47.590 回答
0

你可以使用脚本

<script>  
$(document).ready(function () {  
  $("#categories").change(function () {  
    var url = '@Url.Content("~/")' + "Limitations/ThanaByDistrict_SelectedState";  
    var ddlsource = "#categories";  
    var ddltarget = "#target";  
    $.getJSON(url, { Sel_StateName: $(ddlsource).val() }, function (data) {  
      $(ddltarget).empty();  
      $(ddltarget).val(data);  
    });  
  });  
});  
</script> 

在控制器中

// Get selected combox value  
 public JsonResult ThanaByDistrict_SelectedState ( Guid Sel_StateName )  
 {  
   JsonResult result = new JsonResult ( );  
   objects temp=db . objects . Single ( m => m . ob_guid == Sel_StateName );  
   result . Data = temp.ob_code;  
   result . JsonRequestBehavior = JsonRequestBehavior . AllowGet;  
   return result;  
 }  

有关详细信息,您可以查看此链接

于 2013-05-22T09:19:33.000 回答