我有一个Kendo窗口(模态),我填充各种元素,以便在我的应用程序中收集“小部件”的不同属性。我有下拉列表,数字文本框,多项选择等。我已经为所有这些事件连接了更改事件,例如下面的下拉列表:
@(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控件的Change Event仅在首次呈现视图时触发,并且通过.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"});});
我在同一视图上有非剑道输入,其中onchange事件按预期工作。
控制台中没有错误。
这是被调用的函数,没什么特别的:
function propertyChanged(PropertyElement)
{
console.log("Element: " + PropertyElement);
}
有什么想法吗?
答案 0 :(得分:0)
我试图将参数传递给处理change事件的函数。不能这样做。
我想要的只是调用该函数的元素的名称,所以我可以得到它。