Angular-Kendo ComboBox占位符文本不起作用

时间:2014-04-11 21:44:34

标签: angularjs combobox kendo-ui angular-kendo

我在页面上有一个简单的angular-kendo ComboBox,没有最初选择的值。在这种情况下,它应显示placeholder文字,但它显示? undefined:undefined ?

HTML

<select kendo-combo-box ng-model="Project" k-options='projectOptions'></select>

JS

app.controller('MyCtrl', function($scope) {    
  $scope.projectData = [
    {name: 'Bob', value: 1},
    {name: 'Tom', value: 2}
  ];

  $scope.projectOptions = {
    placeholder: "'Select...'",
    dataTextField: 'name',
    dataValueField: 'value',
    dataSource: {
      data: $scope.projectData
    }
  }
});

此处显示问题的plunker。谁能发现原因?

这曾经用于较早版本的angular-kendo,但它在当前版本中无效。

2 个答案:

答案 0 :(得分:15)

这与此问题有些相关:https://github.com/angular/angular.js/issues/1019

解决方案很简单:使用<input>代替<select>元素:

<input kendo-combo-box ng-model="Project" k-options='projectOptions'/>

app.controller('MyCtrl', function($scope) {
  $scope.projectData = [
    {name: 'Bob', value: 1},
    {name: 'Tom', value: 2}
  ];

  $scope.projectOptions = {
    placeholder: "'Select...'",
    dataTextField: 'name',
    dataValueField: 'value',
    dataSource: {
      data: $scope.projectData
    }
  }
});

demo

答案 1 :(得分:0)

如果您使用<Select>代替<input>,则可以使用简单的placeholder="'Project'"

例如:

<select kendo-combo-box="projectComboBox"
        k-data-source="projectDataSourceBox"
        k-data-text-field="'projectName'"
        k-data-value-field="'projectId'"
        k-ng-model="Dialog.ProjectId"
        k-value-primitive="true"                                        
        k-suggest="true"
        required="required"
        k-auto-bind="false"
        k-filter="'contains'"
        k-change="projectChangeBox"
        style="width: 100%"
        placeholder="'Project'">
        </select>