kendoui + angularjs + 自动完成显示文本但将 id 设置为值

Posted

技术标签:

【中文标题】kendoui + angularjs + 自动完成显示文本但将 id 设置为值【英文标题】:kendoui + angularjs + autocomplete show text but set id as value 【发布时间】:2015-08-21 10:22:58 【问题描述】:

我正在使用 Kendoui's autocomplete 和 angularjs。

我有以下数据源:

[Name:"Albania", Id:"1",Name:"Andorra", Id:"2"]

如何在自动填充中向用户显示名称(阿尔巴尼亚、安多拉等)但将字段值设置为 id

这是我尝试过的:dojo kendoui 所以我现在得到了整个对象,但无法将值设置为 id。

<script>
  function MyCtrl($scope)
      $scope.countries = [
        "Name":"Albania", "Id":"1",
        "Name":"Andorra", "Id":"2",
        "Name":"Armenia", "Id":"3",
        "Name":"Austria", "Id":"4"
      ];
  
</script>

<div ng-controller="MyCtrl">
  <input id="i" kendo-auto-complete ng-model="country" k-data-source="countries" data-text-field="Name" />
  <p>
    Your selection:  country 
  </p>
</div>

我继续尝试修复,但我还没有:

我现在拥有的是:dojo

我认为我可以使用选择处理程序和/或更改处理程序来设置值,但保持自动完成中的文本不变,但没有成功。

【问题讨论】:

删除了一行说明 /edit 【参考方案1】:

还没有真正尝试过使用 kendo 和 angularjs,根据this,具有数据原语 true 的 kendo 自动完成将返回 dataTexfield/olny 字符串文本的数组,数据值字段不起作用。而是使用默认数据原语 false 将返回整个选定对象。检查这个dojo你可以通过先获取整个对象来获取id。

【讨论】:

嗨。谢谢你的回答......不,我有这个: 在与上述相同的 dojo 链接上。但该值仍设置为 Name 而不是 Id 看看我修改后的答案,抱歉,我正在使用我的平板电脑回答。看看道场链接 抱歉,我的错误。啊,用平板电脑修改太难了。 没问题 :-) 平板电脑键盘很恐怖 ;-) 是的.. 你修改后的 dojo 仍然是错误的...意味着我仍然将名称作为值 :-( 顺便说一句,ng-model 在哪里【参考方案2】:

我尝试继续解决问题。但我还没说完。

我现在拥有的是:dojo

我认为我可以使用选择处理程序和/或更改处理程序来设置值,但保持自动完成中的文本不变。但我还是失败了

【讨论】:

以上是关于kendoui + angularjs + 自动完成显示文本但将 id 设置为值的主要内容,如果未能解决你的问题,请参考以下文章

KendoUI AngularJS Bootstrap

如何让 AngularJS 和 KendoUI 协调工作?

如何让 AngularJS 和 KendoUI 协调工作?

KendoUI 下拉过滤器不适用于 AngularJS

使用 AngularJS 服务代替 KendoUI 调度程序中的 url

KendoUI Grid + AngularJS:添加列模板