Kendo:DropDownList小部件不支持attr绑定

时间:2014-12-15 16:15:24

标签: data-binding kendo-ui kendo-mobile

我正在尝试升级我的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"
                    });

哪些功能已更改以及如何更正我的代码?

1 个答案:

答案 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);