2013-11-26 76 views
0

我正在嘗試設置我的MVC 5應用程序,以便用戶無法輸入未出現在下拉列表中的值。限制輸入的文本到組合框數據源

我發現了以下解決方案,JSFiddle Here,但我很難將其轉換爲Razor語法。

以下是我到目前爲止。我無法弄清楚的是如何獲得「數據源」來檢查。

<div class="form-group"> 
     @Html.LabelFor(model => model.loadType, new { @class = "control-label col-md-2" }) 
     <div class="col-md-10"> 
      @(Html.Kendo().ComboBox() 
        .Name("loadType") 
        .Filter(FilterType.Contains) 
        .DataTextField("Text") 
        .DataValueField("Value") 
        .BindTo(Model.LoadTypes) 
        .Suggest(true) 
      ) 
      @Html.ValidationMessageFor(model => model.loadType) 
     </div> 
    </div> 

    <div class="form-group"> 
     @Html.LabelFor(model => model.loadDescrip, new { @class = "control-label col-md-2" }) 
     <div class="col-md-10"> 
      @(Html.Kendo().ComboBox() 
        .Name("loadDescrip") 
        .Filter(FilterType.Contains) 
        .DataTextField("DocCode") 
        .DataValueField("DocCode") 
        .DataSource(source => 
        { 
         source.Read(read => 
         { 
          read.Action("GetCascadeDocumentNumbers", "DockDoor") 
           .Data("filterLoadDescription"); 
         }) 
         .ServerFiltering(true); 
        }) 
        .Enable(false) 
        .AutoBind(false) 
        .CascadeFrom("loadType") 
        .Events(e => 
         { 
          e.Change("onChange"); 
         }) 
      ) 
      @Html.ValidationMessageFor(model => model.loadDescrip) 
     </div> 
    </div> 


    function onChange() { 
    var lT = $("#loadType").data("kendoComboBox").input.val(); 
    if (lT != "Generic") { 
     var lD = $("#loadDescrip").data("kendoComboBox").input.val(); 

     // Here I need to compare 'lD' to what is populated in the comboBox dropdown 
     var combobox = $("#loadDescrip").data("kendoComboBox"); 

     //this is for Testing purposes only 
     alert(lD +" " + lT); 
    } 
}; 

回答

1

你可以得到DataSource任何劍道部件通過Widget的.dataSource財產。因此,例如:

var loadDescripDataSource = $("#loadDescrip").data("kendoComboBox").dataSource; 

從那裏,你可以調用.view()的數據源獲取項目的陣列中的數據源,然後循環在他們找到你所需要的。