Kendo UI DropDownList on change to trigger event

Posted

技术标签:

【中文标题】Kendo UI DropDownList on change to trigger event【英文标题】: 【发布时间】:2014-02-12 15:04:34 【问题描述】:

我是第一次使用 Kendo UI,在我的 Kendo 下拉列表更改中触发功能时遇到了一些困难。

我的目标是根据用户的下拉选择显示不同的搜索字段。我已经尝试了几种不同的方法,但似乎没有任何效果。

有没有人有一个简单的 jQuery sn-p 可以获取 Kendo UI 下拉列表的文本?

我的代码如下:

  <script>
    $(document).ready(function () 
        var a = $("div#searchbox span.k-input").text();
        console.log(a);
      $(a).change(function()
            $('.searchingfor').hide();
            $('#' + a).show();
        );
    );
</script>
 @using (html.BeginForm())
 
    <div id="searchbox" class="label">
        @Html.Label("Search")
        @Html.TextBox("QuickSearch", null, new  style = "width:91%", @class = "k-input" )
        <br />
        <br />
        @(Html.Kendo().DropDownList()
                        .DataTextField("Text")
                        .DataValueField("Value")
                        .BindTo(new List<SelectListItem>()
                        
                            new SelectListItem()
                            
                                Text = "All",
                                Value = "1"
                            ,
                            new SelectListItem()
                            
                                Text = "Customer",
                                Value = "2"
                            ,
                            new SelectListItem()
                            
                                Text = "Contact",
                                Value = "3"
                            ,
                            new SelectListItem()
                            
                                Text = "Service Employee",
                                Value = "4"
                            ,
                            new SelectListItem()
                            
                                Text = "Organization",
                                Value = "5"
                            ,
                            new SelectListItem()
                            
                                Text = "Employee",
                                Value = "6"
                            ,
                            new SelectListItem()
                            
                                Text = "Other",
                                Value = "7"
                            
                        )
                   .Name("SearchType")
                    )
    </div>

【问题讨论】:

【参考方案1】:
@(Html.Kendo().DropDownList()
                    .DataTextField("Text")
                    .DataValueField("Value")
                    .BindTo(new List<SelectListItem>()
                    
                        new SelectListItem()
                        
                            Text = "All",
                            Value = "1"
                        ,
                        new SelectListItem()
                        
                            Text = "Customer",
                            Value = "2"
                        ,
                        new SelectListItem()
                        
                            Text = "Contact",
                            Value = "3"
                        ,
                        new SelectListItem()
                        
                            Text = "Service Employee",
                            Value = "4"
                        ,
                        new SelectListItem()
                        
                            Text = "Organization",
                            Value = "5"
                        ,
                        new SelectListItem()
                        
                            Text = "Employee",
                            Value = "6"
                        ,
                        new SelectListItem()
                        
                            Text = "Other",
                            Value = "7"
                        
                    )
               .Name("SearchType")
               .Events(e => e.Change("OnSearchTypeChange"));

<script type="text/javascript">
function OnSearchTypeChange(e)

 //Do whatever you want to do

</script>

【讨论】:

【参考方案2】:

订阅 onSelect 事件,然后获取选中项文本。以下来自剑道演示网站。

    function onSelect(e) 
                    if ("kendoConsole" in window) 
                        var dataItem = this.dataItem(e.item.index());
                        kendoConsole.log("event :: select (" + dataItem.text + " : " + dataItem.value + ")" );
                    
                ;

【讨论】:

【参考方案3】:

我使用 Kendo MVC,我的下拉列表代码是:

@(Html.Kendo()
    .DropDownListFor(p=> p.SelectedItem)
    .BindTo((List<SelectListItem>)ViewBag.SelectedListItems)
    .Events(p => p.Change("function(e)list_change(e);")
))

所以改变功能:

function personType_Change(e) 
    var item = $('#SelectedItem').data("kendoDropDownList");

    //use item.value() and write your own codes


也许可以帮助某人:)

【讨论】:

以上是关于Kendo UI DropDownList on change to trigger event的主要内容,如果未能解决你的问题,请参考以下文章

Kendo Ui Dropdownlist Set Visible via Javascript

Kendo UI 级联 DropdownList 是如何工作的?

Kendo UI 将 DropDownList 添加到 Grid (MVC)

Kendo UI DropDownList - 更改确认

Kendo UI Dropdownlist 数据绑定值

Kendo UI Dropdownlist 从大型数据源加载缓慢