2017-06-26 99 views
0

我有一個Kendo窗口(模態),我用各種元素填充以便在我的應用中收集「Widget」的不同屬性。我有下拉列表,數字文本框,輯陣-選擇,等我有絲了變化事件的所有的人,如與降樓下:劍道變化事件沒有射擊

@(Html.Kendo().DropDownList() 
    .Name("property-edit-" + @WidgetProperty.widget_property) 
    .HtmlAttributes(new { @class = "widget-property-value-edit andon-type-" + WidgetProperty.widget_property_type.ToLower(), style = "width:300px; height: 30px" }) 
    .DataTextField("tag_name") 
    .DataValueField("tag_name") 
    .Value(WidgetProperty.widget_property_value) 
    .DataSource(source => 
    { 
     source.Read(read => 
     { 
      read.Action("AndonTagList", "List", new { DataType = Model.widget_data_type }); 
     }) 
     .ServerFiltering(true); 
    }) 
    .Enable(true) 
    .Events(e => { e.Change("propertyChanged('property-edit-" + @WidgetProperty.widget_property + "')"); }) 

的變化所有Kendo控件的事件僅在視圖第一次呈現時通過.Value()配置屬性填充,並且它們的值被填充。無論我選擇新值,編輯文本框還是使用微調框,它們都不會再次觸發。

由下拉呈現的腳本對我來說看起來不錯?

kendo.syncReady(function(){jQuery("#property-edit-Tag-Name").kendoDropDownList({"change":propertyChanged('property-edit-Tag-Name'),"dataSource":{"transport":{"read":{"url":"/List/AndonTagList?DataType=Text","data":function() { return kendo.ui.DropDownList.requestData(jQuery("#property-edit-Tag-Name")); }},"prefix":""},"serverFiltering":true,"filter":[],"schema":{"errors":"Errors"}},"dataTextField":"tag_name","dataValueField":"tag_name"});}); 

我在同一視圖上有非kendo輸入,onchange事件按預期工作。

控制檯中沒有錯誤。

這裏是被調用的函數,沒有什麼特別的:

function propertyChanged(PropertyElement) 
    { 
     console.log("Element: " + PropertyElement); 
    } 

任何想法?

+0

我應該補充一點,我嘗試使用Cascade事件,儘管我得到的是程序化更改,而不是來自用戶交互的更改。 – SteveInTN

回答

0

我試圖傳遞一個參數給處理change事件的函數。不能這樣做。

所有我想要的是調用該函數的元素的名稱,所以我可以得到它。