Событие смены кендо не стреляет
У меня есть окно 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 срабатывает только при первом отображении представления, и их значения заполняются через свойство конфигурации.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);
}
Есть идеи?
1 ответ
Я пытался передать параметр в функцию, обрабатывающую событие изменения. Не могу этого сделать.
Все, что я хотел, - это имя элемента, вызывающего функцию, чтобы я мог получить это.