我们正在尝试在Kendo组合框上设置背景颜色。但是,设置颜色似乎也会消除数据绑定。在下面的jsfiddle示例中,设置了第二个组合框(cb2)的背景但没有项目。
<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);
答案 0 :(得分:1)
改变这个:
var cb = $("#cb2").kendoComboBox().data("kendoComboBox");
到此:
var cb = $("#cb2").data("kendoComboBox");
包含.kendoComboBox()会导致ComboBox重新初始化(在某种程度上),导致您观察到的问题。选择#cb2已经被实例化为ComboBox,因此无需再次调用该方法。