我試圖根據所選項改變Kendo UI組合框的顏色。Kendo UI組合框事件
我已經把顯示的問題[http://jsfiddle.net/PeWPE/]
我需要做的是確定所選擇的項目在頁面加載時什麼小提琴。我可以捕獲onDataBound事件,但在這一點上找不到選定的項目 - 我懷疑它不可用。
當用戶從列表中選擇一個新的項目選擇事件給了我一切,我需要改變ComboBox的顏色數據,雖然顏色沒有真正改變:(
所以,總之,有沒有辦法改變一個劍道UI組合框的顏色時,初始值設置(與固定我的語法任何幫助將是一件好事!)。
感謝您的幫助。
這裏的代碼...
$(document).ready(function() {
// Create some data - including a color
var data = [{
text: "12 Angry Men",
value: "1",
color: "White"
}, {
text: "Il buono, il brutto, il cattivo.",
value: "2",
color: "White"
}, {
text: "Inception",
value: "3",
color: "Green"
}, {
text: "One Flew Over the Cuckoo's Nest",
value: "4",
color: "Green"
}, {
text: "Pulp Fiction",
value: "5",
color: "Blue"
}, {
text: "Schindler's List",
value: "6",
color: "Blue"
}, {
text: "The Dark Knight",
value: "7",
color: "Red"
}, {
text: "The Godfather",
value: "8",
color: "Red"
}, {
text: "The Godfather: Part II",
value: "9",
color: "Yellow"
}, {
text: "The Shawshank Redemption",
value: "10",
color: "Yellow"
}, {
text: "The Shawshank Redemption 2",
value: "11",
color: "Orange"
}];
// Create the combo
$("#movies").kendoComboBox({
dataTextField: "text",
dataValueField: "value",
dataSource: data,
height: 100,
change: onChange,
dataBound: onDataBound,
select: onSelect
});
// Select a value - Note no event is raised when doing this(!)
var combo = $("#movies").data("kendoComboBox");
combo.value("9");
function onChange(e) {
alert('onChange Called');
ctrl = this.element.attr("id");
var dataItem = this.dataItem(e.item.index());
}
// This is called - but the color is not being set
function onSelect(e) {
alert('onSelect Called');
var ctrl = this.element.attr("id");
var dataItem = this.dataItem(e.item.index());
alert('Control Id: ' +ctrl); // Check we've got the control
alert('Color selected: ' + dataItem.color);
$('input[name="' + ctrl + '_input"]').css({
backgroundColor: dataItem.color
});
$('#movies').css({
backgroundColor: dataItem.color
});
}
function onDataBound(e) {
alert('onDataBound Called');
}
})
感謝@OnaBai的幫助。不幸的是,我不能在kendoComboBox()標記中設置初始值,它由knockout設置,並且在綁定時沒有使用this.value。任何想法如何在這些情況下在綁定時間設置顏色? – user2208192
檢查這個修改後的版本:http://jsfiddle.net/OnaBai/PeWPE/8/。在設置值之後,我調用trigger(「select」);'。這是一個稍微低一點的水平,但是當我們執行'value(9)'時,調用KendoUI不會調用的內容。你可能會意識到,我已經刪除了'onSelect'上的'e'的引用,因爲我沒有將它作爲參數傳遞給'trigger'。如果你需要它,你需要生成一個兼容版本的'e'並把它傳遞給'trigger'。我也刪除了'onDataBound',因爲如果你不設置初始值就不需要。 – OnaBai
感謝您的幫助,Kendo文檔中似乎有很多不是! – user2208192