Angular Kendo下拉列表会自动添加空白选项

时间:2014-09-10 13:22:05

标签: javascript jquery angularjs kendo-ui kendo-dropdown

我正在使用有角度的剑道,并且在kendo的下拉列表控件中遇到一个奇怪的问题,即表单中第一个下拉控件绑定的字段默认为? undefined:undefined ?。虽然生成的html在第一个选项中有selected="selected"。当我在下拉列表中明确选择一个值时,模型会正确更新。

下拉列表中填充了根范围内的数组。

另请注意,如果我启用chrome的扩展名AngularJS Batarang,那么它也能正常工作。

我做了angular-kendo的调试,发现kendo是自动添加空白选项,其值是多少? undefined:undefined?。

<select class="s-select" kendo-drop-down-list k-data-source="lookupCache.getLookupValues('gender')" k-data-text-field="'DisplayName'" k-data-value-field="'Id'" k-value="'M'" ng-model="Model.Gender" />

默认情况下,Model为{}

2 个答案:

答案 0 :(得分:2)

对于动态数据源,您可以使用data-option-label,如下所示:

     <select name="packageName" id="packageName"
       kendo-drop-down-list 
       k-options="dropDownListOptions"
       k-ng-model="packageSelected" 
       ng-model="packageTypeId" 
       data-option-label="{value:'Select...',name:''}"/>

答案 1 :(得分:0)

这是Kendo UI中的一个奇怪问题。

我的解决方法:

不要在选择列表中提供kendo-drop-down-list标记。而是通过JS功能使其成为剑道。

HTML:

 <select id="searchisActive" ng-model="ngsearchisActive" ng-change="applyFilter()">
                <option value="-1">All</option>
                <option value="1">Active</option>
                <option value="0">Inactive</option>
            </select>

JS:

  $(function () {        
    $("#searchisActive").kendoDropDownList();
});