在Kendo Combobox上设置背景颜色擦除绑定

时间:2016-07-07 19:41:03

标签: jquery css mvvm kendo-ui

我们正在尝试在Kendo组合框上设置背景颜色。但是,设置颜色似乎也会消除数据绑定。在下面的jsfiddle示例中,设置了第二个组合框(cb2)的背景但没有项目。

JsFiddle

<div id="example">
    <input id="cb1" class="combobox" />
    <input id="cb2" class="combobox" />
    <input id="cb3" class="combobox" />
</div>


var viewModel = kendo.observable({
    allowCustomValues: false,
    testData: new kendo.data.DataSource({
        data: [{
            id: 1,
            name: 'BMW'
        }, {
            id: 2,
            name: 'Audi'
        }, {
            id: 3,
            name: 'Ferrari'
        }]
    })
});

$('.combobox').kendoComboBox({
    dataSource: viewModel.testData,
    autoBind: false,
    dataTextField: 'name',
    dataValueField: 'id',
    suggest: true,
    placeholder: 'Select a car'
});

kendo.bind('#example', viewModel);

// ******************************************
// SET BACKGROUND COLOR
// ******************************************
var cb = $("#cb2").kendoComboBox().data("kendoComboBox");
cb.wrapper.find(".k-input").css("background", "#FFFFE0");

//ddl.input.css("background", propertyValue);

1 个答案:

答案 0 :(得分:1)

改变这个:

var cb = $("#cb2").kendoComboBox().data("kendoComboBox");

到此:

var cb = $("#cb2").data("kendoComboBox");

包含.kendoComboBox()会导致ComboBox重新初始化(在某种程度上),导致您观察到的问题。选择#cb2已经被实例化为ComboBox,因此无需再次调用该方法。