我正在使用有角度的剑道,并且在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为{}
答案 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();
});