kendo ui在首次加载时选择特定的索引/文本

时间:2013-12-30 02:09:46

标签: javascript kendo-ui kendo-combobox kendo-dropdown

我遇到的问题是,在第一次加载页面时,我想从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                       
});

2 个答案:

答案 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";
});

检查此http://jsfiddle.net/OnaBai/mRmNJ/

答案 1 :(得分:1)

请参阅Kendo Documentation

我相信你的情况会是这样的召唤:

//trigger the select of combobox 
cmb.select(function(dataItem) {
    return dataItem.text === theme;
});

或者只是在对象初始值设定项中设置value属性

value = ($.cookie('selectedTheme') || "default").toLowerCase(),