2014-01-24 48 views
2

我是新來的這一切,並沒有研究這個頗有幾分,顯然不「明白」。 我使用C#/。NET4.5 MVC4。KendoUI的DropDownList更改事件不會觸發

我有一個下拉列表我填充,當我改變下拉值,我想觸發一個事件..我相信改變事件(用下拉選擇的值重定向到一個新的頁面)

什麼也沒有發生(不觸發事件)。
我嘗試使用.Events語法劍道代碼的一部分,但我得到一個錯誤(錯誤CS1977:沒有首先它強制轉換爲委託或表達式樹類型,則無法使用lambda表達式作爲參數傳遞給動態調度操作)

我怕我不明白的流程,以及如何將事件綁定到行動,儘管閱讀這十幾個或更多的職位。 在此先感謝您的幫助。

以下是我在查看了(index.cshtml)

@model IEnumerable<cfcccDb.Models.matrix>

<form method="post">

@(Html.Kendo().DropDownList()

.Name("scorematrix") 
    .DataTextField("Text") 
    .DataValueField("Value") 
    .Value(ViewBag.SelectedMatrix) 
    .HtmlAttributes(new { style = "width:200px;" }) 
    .BindTo(@matrixlist) 
    ) 

</form>

<script>

$("#scorematrix").kendoDropDownList({ 

    change: function (e) { 
     var value = this.value(); 
     alert("value = " + value); 
    } 

}) 

</script>

+0

僅供參考,我有關閉paren不顯示在ddl代碼中,我有「;」即使不在這裏顯示,關閉paren之後,這樣就不是問題了 – user3232713

回答

2

隨着MVC的包裝,你應該這樣做來改變事件綁定:如果你想在JS change事件綁定

@(Html.Kendo().DropDownList() 
    .Name("scorematrix") 
    .DataTextField("Text") 
    .DataValueField("Value") 
    .Value(ViewBag.SelectedMatrix) 
    .HtmlAttributes(new { style = "width:200px;" }) 
    .BindTo(@matrixlist) 
    .Events(e => e.Change("dropdownlist_change"))) 

<script> 
    function dropdownlist_change() { 
     //Handle the change event 
    } 
</script> 

,你可以這樣做:

$("#scorematrix").data("kendoDropDownList").bind("change", function (e) { 
    //Handle the change event 
}); 
相關問題