web-dev-qa-db-ja.com

剣道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は値を変更せず、リストの最初の値のみを表示します。これについて助けが必要です。ありがとう。

7
user585440

Valueメソッドを使用します。以下のコード例を参照してください。

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

EDIT: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;
    }
}
3

この値はjqueryでのみ機能し、htmlヘルパーでは機能しません。だからそれはjqueryのように機能します

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

剣道コンボボックスの初期化中にプロパティ「インデックス」を使用して、デフォルト値を設定します。

 $("#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
        });
2
user8535883

剣道のドロップダウンリストを初期化するときにデフォルト値を設定する方法は2つあります。

$("#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:"行政区划"
    });
0
matrixknight