2017-06-26 67 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事件的函数。不能这样做。

所有我想要的是调用该函数的元素的名称,所以我可以得到它。