2012-11-12 34 views
2

基本上我想实现的是我有一个名为New的按钮,并且调用了const的dropdownlist。目前,下拉列表从数据库正确填充。我现在遇到的问题是,当我选择下拉列表值并单击新按钮时,它当前不会选择所选值。无法获得下拉列表中选择的值的值为kendo下拉列表

//查看

<input id="btnNewOpt" type="button" value="New" style="width:50px"/> 

    @(Html.Kendo().DropDownList() 
      .HtmlAttributes(new { @Style = "font-size:12px; width:255px" }) 
      .Name("const") 
      .DataTextField("OptName") 
      .DataValueField("OptID") 
      .OptionLabel("Select option name") 
      .DataSource(source => 
      { 
       source.Read(read => 
       { 
        read.Action("GetTypeStatus", "Index"); 
       }); 
      }) 

     ) 


    $(document).ready(function() { 

      $('#btnNewOpt').click(function (e) 
      { 
       var dropdownlist = $("#const").data("kendoDropDownList"); 

      } 

     }); 

//controller: 
    public JsonResult GetTypeStatus() 
     { 
      var consumerStatus = new HEntities(); 

      return Json(consumerStatus.vwCStatus.Select(c => new { OptID = c.OptID, OptName = c.OptName, OptiTypeID = c.OptiTypeID }) 
       .OrderBy(c => c.OptName), JsonRequestBehavior.AllowGet); 


     } 

回答

0

加选择()加上它的工作现在

//创建剑道下拉菜单,并参考其

var mydropdown = $("#const").data("kendoDropDownList").select(); 

// onclick ... get the value from kendo dropdown 
$('#btnNewOpt').click(function (e){ 
var selectedValue = mydropdown.value(); 
} 
+0

这不能正确执行:在mydropdown上找不到.value()。 Bobby_D_的解决方案为我获得了正确的价值。 – mayu

4

致电值定义你的剑道下拉在全球范围内,然后在点击提手接近选定值()。

// create your kendo dropdown and reference to it 
var mydropdown = $("#const").data("kendoDropDownList"); 

// onclick ... get the value from kendo dropdown 
$('#btnNewOpt').click(function (e){ 
var selectedValue = mydropdown.value(); 
} 
+0

感谢您的回答bobby.but它仍不断收到值= 1,事件如果选择下拉列表中的不同值 – Supermode

+0

我不确定为什么'var mydropdown'是在处理程序外部定义的。它不一定是。 – mayu

2

尝试这些选项了。

1)

$(document).ready(function() { 

      $('#btnNewOpt').click(function (e) 
      { 
       var dropdownlist = $("#const").data("kendoDropDownList").value.toString(); 

      } 

     }); 

2)

$(document).ready(function() { 

        $('#btnNewOpt').click(function (e) 
        { 

        var dropdownlist = $("#const").data("kendoDropDownList")[0].form.const.value; 

        } 

       }); 

3)

$(document).ready(function() { 

         $('#btnNewOpt').click(function (e) 
         { 
         var dropdownlist = $("#const").val();    
         } 

        });