在剑道自动完成字段的mvvm html属性中,是否有一种直接的方法来定义“选择”事件处理程序函数?
例如,下面是使用jQuery设置的自动完成字段的工作版本:
$("#fieldProjectName").kendoAutoComplete({
minLength: 4,
filter: "contains",
dataTextField: "ProjectName",
placeholder: "Begin typing the Project Name",
select: function (e) { selectAutoComplete(this.dataItem(e.item.index()), "ProjectItemKey", "ProjectName") },
dataSource: dataProjectList,
});
到目前为止,这是使用MVVMHTML属性“data-?”在模板中定义类似字段的等效版本
<input name="ProjectItemKey"
data-bind="value:ProjectName"
data-value-primitive="true"
data-value-field="ProjectItemKey"
data-text-field="ProjectName"
data-source="dataProjectList"
data-role="autocomplete"
data-min-length="4"
data-filter="contains"
data-placeholder="Begin typing the Project Name"
/>
我们不知道如何在这个mvvm html属性结构中定义选择事件的事件处理程序,它相当于第一个例子中的“选择:”属性:
select: function (e) { selectAutoComplete(this.dataItem(e.item.index()), "ProjectItemKey", "ProjectName") },
例如,如果有如下情况:
data-select: "onSelectProject"
然后,我们可以在模板中包含此函数来处理选择事件:
function onSelectProject(e) {
selectAutoComplete(this.dataItem(e.item.index()), "ProjectItemKey", "ProjectName");
}
不幸的是,我们不知道怎么做。我们所看到的唯一相关文档涉及设置自定义剑道。使用嵌入在模型中的自定义方法创建可观察模型,然后在数据绑定事件中设置某些内容。然而,这似乎是一种非常复杂和间接的方法。此外,我们不知道如何操作该模型,因为它来自一个kendoGrid,然后该kendoGrid使用一个自定义记录编辑模板,该模板包含这个自动完成字段。
我们花了很多时间试图找到这一个,所以任何帮助将不胜感激。
使用Kendo MVVM进行事件和数据属性
绑定的一些参考:
使用MVVM自动完成剑道
使用MVVM绑定事件
下面是如何使用数据属性
来配置使用MVVM的小部件
您可以将选择事件绑定到viewModel,如下所示:
<input data-role="autocomplete"
data-bind="events: { select: onAutocompleteSelect}"
....
/>
假设你的JS大致如下:
var names = [
{"name": "Gilberto"},
{"name": "Dennis"},
{"name": "Joanna"},
{"name": "Abbigail"},
{"name": "Shannon"},
{"name": "Kadyn"},
{"name": "Gregory"}
];
var viewModel = kendo.observable({
list: names,
sel:'',
onAutocompleteSelect: function (e){
alert('Autocomplete select event');
}
});
kendo.bind($('#persons'), viewModel);
超文本标记语言:
<div id="persons">
<input
data-role="autocomplete"
data-bind="source: list, value: sel, events: { select: onAutocompleteSelect}"
data-value-primitive="true"
data-value-field="name"
data-text-field="name"
data-min-length="4"
data-filter="contains"
data-placeholder="Begin typing the Project Name"
/>
</div>
您应该在data-bind
属性中包含选择事件。
数据绑定=事件:{Select: onSelect}
检查这个jsFiddle。
如何在更改函数上选择剑道下拉列表值。剑道下拉列表在网格中。在更改函数中,我想选择列表中的第一项。 我已经编写了代码: 但是下拉列表没有选择更改功能。我该怎么做请帮帮我。
问题内容: 我正在将Kendo下拉列表从现有代码转换为Kendo multiselect。 角色代码:当前为Dropdownlist(转换为Kendo multiselect)。 我没有得到正确的输出。 我有以下代码: 下面是获取角色代码的控制器代码: 如您所见,我尝试在上面的代码中使用多选功能。但这没有用。 问题答案: 下面的代码为我工作:
我有剑道下拉列表,我想选择下拉列表的选择值。我得到了选定项目的文本,但不是应该是ID的值。 绑定数据与Dropdown列表剑道 使用剑道下拉列表绑定选择函数。
我想定制剑道折线图如下: 我想在剑道折线图上显示右侧的堆积条形图。 有什么方法可以使用MVC来实现这一点吗
我不认为实现这样一个常见的简单场景有那么难,但我有一个剑道下拉列表,它使用MVVM风格进行初始化,它绑定了一个远程数据源。 我想要实现的是,一旦远程数据源准备好并绑定到小部件,默认情况下会选择第一个选项(当然,第一个项目的值应该绑定到视图模型) 我试图直接使用上面的代码来做这件事,它将一个dataBound事件绑定到小部件,并在它触发时选择第一个项目。回调方法被调用时没有错误,但是小部件从不选择第
我对某些字段的验证有问题。我只想验证几个字段,其他字段不应该验证。在我的Email字段中,我启动了一个函数来检查格式是否正确,但其他字段只是设置为验证。任何帮助都将不胜感激。 使用此代码,在尝试保存/更新时将验证所有字段。我不想验证分机或电话号码。