微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

jquery – 将ID与自动完成中的文本绑定为值

我正在使用Kendo Autocomplete,因为我正在填写Text并使用该文本解析数据,
但我想使用ID作为值在表单提交的服务器端发送它.

我正在使用这个Kendo编辑器但是无法将“CustomerID”绑定为自动完成的值::

@(Html.Kendo().AutoComplete()
                                  .Name("Customers")
                                  .DataTextField("CustomerShortName")
                                  .Value("CustomerID")
                                  .Filter("contains")
                                  .MinLength(3)
                                  .Template("<label>${ data.CustomerShortName }</label>")
                                  .HtmlAttributes(new {  disabled="disabled" })
                                  .DataSource(source =>
                                  {
                                      source.Read(read =>
                                      {
                                          read.Action("GetCustomers","GetData");
                                      })
                                      .ServerFiltering(true);
                                  })
                            )

请尽快帮助我.

解决方法

我以另一种方式做到了这一点,
我为其ID值设置了一个隐藏类型,即“CustomerID”为
@Html.HiddenFor(x=>x.CustomerID)

并且在更改kendo自动完成时我写了一些事件,

@(Html.Kendo().AutoComplete()
                                      .Name("Customers")
                                      .DataTextField("CustomerShortName")
                                     .Events(events => events.Select("CustomerSelect"))
                                      .Filter("contains")
                                      .MinLength(3)
                                      .Template("<label>${ data.CustomerShortName }</label>")
                                      .HtmlAttributes(new {  disabled="disabled" })
                                      .DataSource(source =>
                                      {
                                          source.Read(read =>
                                          {
                                              read.Action("GetCustomers","GetData");
                                          })
                                          .ServerFiltering(true);
                                      })
                                )

为此,我使用Javascript函数::

<script>
//Set CustomerID
    function CustomerSelect(e)
    {
        var DataItem = this.dataItem(e.item.index());
        $("#CustomerID").val(DataItem.CustomerID);
}
</script>

我在提交表格时使用的这个价值.谢谢你的帮助.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐