2016-10-04 40 views
0

我有一個Kendo下拉列表,它可以很好地填充。一個要求是如果使用模板返回的項目IsActive爲false,則突出顯示項目的背景紅色。下面是我到目前爲止的代碼。Kendo UI:如何使用模板更改KendoDropDown列表的背景顏色

var carsDropDown = $("#ddlCars").kendoDropDownList({ 
     dataTextField: "DisplayValue", 
     dataValueField: "Id", 
     valuePrimitive: true, 
     optionLabel: " ", 
     dataSource: intakeView.viewModel.carsDataSource, 
     template: '#= !data.IsActive ? \'<span style="background-color:redBackGroundColor"></span>\' : "" #' 
    }); 

CSS:

.redBackGroundColor { 
    background-color: red; 
} 

上面的代碼被變灰所有下拉選項,包括所選擇的選項。我想只改變返回的選項的背景顏色是IsActive爲False。

+0

你想'類= 「redBackGroundColor」',而不是'風格= 「redBackGroundColor」'任何機會呢? – Dekel

+0

如果不是 - 添加一些工作示例(jsfiddle/snippet) – Dekel

+0

@Dekel更改爲類沒有幫助 –

回答

0

首先,您需要使用不像Dekel所指示的類風格。其次,您可能需要考慮更改前景顏色,而不是背景顏色,因爲懸停時背景顏色爲灰色。您還需要將說明添加到您的模板。像這樣的東西應該工作:

var carsDropDown = $("#ddlCars").kendoDropDownList({ 
    dataTextField: "DisplayValue", 
    dataValueField: "Id", 
    valuePrimitive: true, 
    optionLabel: " ", 
    dataSource: intakeView.viewModel.carsDataSource, 
    template: '<span class=\"k-state-default #= IsActive ? "" : "redBackGroundColor" #\">#: DisplayValue #</span>' 
}); 

http://demos.telerik.com/kendo-ui/dropdownlist/template

+0

這是完美的。但如果我想玩背景顏色,那麼我應該玩什麼類 –

+0

類是由你定義的。你有一個名爲redBackGroundColor的類,確實會將背景顏色更改爲紅色。所以上面的代碼會將它應用於非活動元素。 –

+0

上面的代碼改變了前景色。我想改變背景顏色。 –