2

我有一个绑定到 ObservableArray/DataSource 的 Kendo Dropdownlist。它适当地填充数组中的值。但是当我将 ng-model 绑定到属性时,下拉列表无法选择该值。

HTML:

<select kendo-drop-down-list k-options="dropOptions" ng-model="user.id"></select>

JS:

var users = [
  { id: 1, name: 'A' },
  { id: 2, name: 'B' },
  { id: 3, name: 'C' },
  { id: 4, name: 'D' },
  { id: 5, name: 'E' },
  { id: 6, name: 'F' }
];

var usersDataSource = new kendo.data.ObservableArray(users);

$scope.dropOptions = {
  dataSource: usersDataSource,
  dataTextField: 'name',
  dataValueField: 'id',
  optionLabel: "Select one..."
};

$scope.welcome = "World";
$scope.user = { id: 3 }

$scope.user = { id: 3 }应该强制下拉列表选择 C。

这是 Plunkr 的链接: http ://plnkr.co/edit/BxTqWet5sz725ZtKEKJr?p=preview

如何让下拉列表根据与 ng-model 绑定的属性中分配的值进行选择。我也使用过 k-ng-model,但它不起作用。请帮助我在这里做错了什么。谢谢你。

编辑:下拉列表中的选择不是硬编码的。它将从数据库中获取。

4

6 回答 6

3

我将 Angular 1.4.9 与 Kendo v2015.3.1111 一起使用。降级到 Angular 1.4.8 使它工作。

于 2016-02-04T08:17:21.100 回答
3

我有一个可行的解决方案。

  <select kendo-drop-down-list
         k-options="odsSoluciones"
         k-data-text-field="'descripcion'"
         k-data-value-field="'solucionId'"
         k-value="prescDPIntercambio.solucionDPId"
         ng-model="prescDPIntercambio.solucionDPId">
 </select>


$scope.odsSoluciones = 
     dataSource: new kendo.data.DataSource({
         data: solucionesModel.data,
         }),
    };

在我的情况下,odsSoluciones 返回一个包含“solucionId”和“descripcion”字段的数组,而 prescDPIntercambio.solucionDPId 是我希望看到的值被选中

于 2016-08-26T06:07:38.467 回答
1

只需添加k-value = "user.id"到模板中。

工作小插曲

于 2019-09-11T15:47:53.790 回答
1

Kendo 下拉值不反映基于 ng-model 的选择。相反,它提供了一个新属性:k-ng-model

对于一个基本的例子,看看这个:k-ng-model

于 2016-02-04T08:01:07.830 回答
0
<div ng-controller="AppCtrl">
  <h1>Hello {{ welcome }}!</h1>
  <div>Selected value is {{ user.id }}</div>
  <select kendo-drop-down-list 
          k-options="dropOptions"
          ng-model="user.id"
          value= 3
          class="glow"></select>
</div>
于 2016-02-04T05:33:59.333 回答
0

有一种奇怪的情况,例如,当我将 ng-model 声明为对象时$scope.abc.xyz = "test" ,绑定有效,而如果我这样做$scope.abc = "test" ,则绑定不起作用。不知道是什么问题:)

于 2020-10-15T04:49:15.323 回答