在Kendo组合框中设置背景颜色擦除绑定

问题描述:

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

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

更改此:

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

这样:

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

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