我正在尝试升级我的kendo移动应用程序。当我尝试使用最新的kendo-core javascript库时,它返回" DropDownList小部件不支持attr绑定"错误。
我的html代码中的绑定就像
<script id="fieldsTemplate" type="text/x-kendo-template">
<li>
<label data-bind="attr: { for: COLUMN_NAME}, text: COLUMN_TITLE"></label><span class="targettrash"></span>
# if (get("FORM_FIELD_TYPE") == "I") {#
<input data-bind="value: VALUE, disabled: DISABLED, attr: { type: DATA_TYPE, name: COLUMN_NAME, id: COLUMN_NAME} ,style: {textTransform:ENTRY_FORMAT}" />
#}else if (get("FORM_FIELD_TYPE") == "T"){#
<textarea data-bind="value: VALUE, disabled: DISABLED, attr: { type: DATA_TYPE, name: COLUMN_NAME, id: COLUMN_NAME} ,style: {textTransform:ENTRY_FORMAT}" />
#}else if (get("FORM_FIELD_TYPE") == "L"){#
<input data-bind="value: VALUE, disabled: DISABLED, attr: { type: DATA_TYPE, name: COLUMN_NAME, id: COLUMN_NAME}" />
#}else{#
<select data-role="dropdownlist" data-bind="value: VALUE, disabled: DISABLED, source: options, attr: { id: COLUMN_NAME" data-text-field="OPTION_DESC" data-value-field="OPTION_ID" />
#}#
</li>
</script>
javascript部分是
$('#' + obsRecordFields.fields[i].COLUMN_NAME).kendoDropDownList({
dataSource : dataSource,
dataTextField : "OPTION_DESC ",
dataValueField : "OPTION_ID"
});
哪些功能已更改以及如何更正我的代码?
答案 0 :(得分:0)
DropDownList不再支持属性绑定(以前支持它)。
我需要在动态创建的表单中定义属性。我所做的是在创建表单之后定义属性。
以下代码在表单创建循环中正常工作
var j = i + 1;
var $elem = $("form#recordDetailForm ul > li:nth-child(" + j + ") select[data-role='dropdownlist']");
if ($elem.length==1) {
$elem.attr('id',obsRecordFields.fields[i].COLUMN_NAME);
$elem.attr('type',obsRecordFields.fields[i].DATA_TYPE);
$elem.attr('name',obsRecordFields.fields[i].COLUMN_NAME);