我遇到的问题是,在第一次加载页面时,我想从cookies中读取值,如果找到,我想更改存储在cookie中的主题。 不仅想要更改它们,而且我还想在组合框中选择该项目,以便它与应用它们同步。
在构建组合框时,如何在初始页面加载期间选择特定项目?
$(document).ready(function () {
var initialized = false;
// theme chooser drop-down
var cmb=$(".themeChooser").kendoDropDownList({
dataSource: [
{ text: "Default" },
{ text: "BlueOpal" },
{ text: "Bootstrap" },
{ text: "Silver" },
{ text: "Uniform" },
{ text: "Metro" },
{ text: "Black" },
{ text: "MetroBlack" },
{ text: "HighContrast" },
{ text: "Moonlight" }
],
dataTextField: "text",
dataValueField: "value",
change: function (e) {
$.cookie('selectedTheme', theme);
changeTheme(theme);
}
});
theme = ($.cookie('selectedTheme') || "default").toLowerCase();
//Not sure how to trigger the select of combobox
cmb.value(theme); // no effect
});
答案 0 :(得分:8)
获取对下拉列表的引用
var dropdownlist = $("#Instrument").data("kendoDropDownList");
如果您知道可以使用的索引:
// selects by index
dropdownlist.select(1);
如果没有,请使用:
// selects item if its text is equal to "test" using predicate function
dropdownlist.select(function(dataItem) {
return dataItem.symbol === "test";
});
答案 1 :(得分:1)
我相信你的情况会是这样的召唤:
//trigger the select of combobox
cmb.select(function(dataItem) {
return dataItem.text === theme;
});
或者只是在对象初始值设定项中设置value属性
value = ($.cookie('selectedTheme') || "default").toLowerCase(),