如何在Kendo DropDownList中设置默认值

时间:2015-01-27 07:34:24

标签: kendo-ui kendo-dropdown

我有一个Kendo DropDownList,但奇怪的是我无法设置其初始值。

Html.Kendo().DropDownList()
    .Name("PersonalCoachName")
    .BindTo(new SelectList((List<string>)ViewData["coachResources"]))
    .HtmlAttributes(new { style = "font-size:8pt;" })

ViewData [“coachResources”]是一个字符串类型的列表。无论我使用

.BindTo(new SelectList((List<string>)ViewData["coachResources"], "Default"))
or 
.SelectedIndex(3)

DropDownList不会更改它的值,只显示列表中的第一个值。我需要帮助。感谢。

5 个答案:

答案 0 :(得分:6)

该值仅适用于jquery,而不适用于html帮助程序。所以它适用于Jquery,如

    var dropdownlist = $("#PersonalCoachName").data("kendoDropDownList");
    dropdownlist.value(coachId);
    dropdownlist.refresh(); 

答案 1 :(得分:4)

使用Value-method。请参阅下面的示例代码。

@(Html.Kendo().DropDownList()
      .Name("DropDownListName")
      .DataTextField("Text")
      .DataValueField("Value")
      .BindTo(model.DropDownListItems)
      .Value(model.Selected)
      )

修改 DropDownList需要绑定到List<SelectListItem>,并且可以如下所示进行初始化。

var items = new List<SelectListItem>
{
    new SelectListItem { Text = "Item0", Value = "0" }, 
    new SelectListItem { Text = "Item1", Value = "1" } 
};

此外,我建议您使用MVVM将其附加到视图中。

public class DropDownViewModel
{
    public String Selected;
    public List<SelectListItem> DropDownListItems;

    public DropDownViewModel(String selected, List<SelectListItem> dropDownListItems)
    {
        Selected = selected;
        DropDownListItems = dropDownListItems;
    }
}

答案 2 :(得分:1)

在初始化kendo组合框时使用属性'index'来设置默认值。

 $("#fabric").kendoComboBox({
            autoWidth: true,
            dataTextField: "text",
            dataValueField: "value",
            dataSource: [
                            { text: "Cotton", value: "1" },
                            { text: "Polyester", value: "2" },
                            { text: "Cotton/Polyester", value: "3" },
                            { text: "Rib Knit", value: "4" }
                        ],
            filter: "contains",
            suggest: true,
            index: 3
        });

答案 3 :(得分:0)

初始化剑道下拉列表时,有两种方法可以设置默认值。

$("#yourdropdownlist").kendoDropDownList({
        dataTextField: "valueName",
        dataValueField: "valueCode",
        dataSource: [
            { valueName: "A", valueCode: "0" },
            { valueName: "B", valueCode: "1" }
        ],
        //Method 1 -set index
        //index: 0
        //Method 2 - set default value and text
        value: "0",
        text:"行政区划"
    });

答案 4 :(得分:0)

这是我的下拉菜单:

@(Html.Kendo().DropDownList()
                     .HtmlAttributes(new { style = "width:95%", id = "customerSelection" })
                     .Name("customers-dropdown")
                     .DataTextField("Text")
                     .DataValueField("Value")
                     .BindTo(Model)
                     .OptionLabel("Select Customer...")
                )

我想在某些功能上选择默认选项“选择客户...”。我可以使用以下代码来做到这一点:

var dropdownBox = $("#customerSelection").data("kendoDropDownList");
    dropdownBox.text("");
    dropdownBox.value("");