2016-07-07 57 views
0

我們試圖在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); 

回答

1

更改此:

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

這樣:

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

包含.kendoComboBox()導致該組合框被重新初始化(在一定程度上),導致您觀察到的問題。選擇#cb2已經被實例化爲ComboBox,因此不需要再次調用該方法。