Javascript 如何在击倒js的剑道ui自动完成中选择id
我正在我的应用程序中使用击倒剑道自动完成。我想获取所选自动完成的值字段。下面是自动完成的小提琴。我想显示id而不是文本 Javascript代码:Javascript 如何在击倒js的剑道ui自动完成中选择id,javascript,jquery,knockout.js,kendo-ui,knockout-kendo,Javascript,Jquery,Knockout.js,Kendo Ui,Knockout Kendo,我正在我的应用程序中使用击倒剑道自动完成。我想获取所选自动完成的值字段。下面是自动完成的小提琴。我想显示id而不是文本 Javascript代码: var ViewModel = function() { this.choices = ko.observableArray([ { id: "1", name: "apple"}, { id: "2", name: "orange"}, { id: "3", name: "banana"}
var ViewModel = function() {
this.choices = ko.observableArray([
{ id: "1", name: "apple"},
{ id: "2", name: "orange"},
{ id: "3", name: "banana"}
]);
this.selectedChoice = ko.observable();
};
ko.applyBindings(new ViewModel());
HTML:
选中:
您可以使用选择功能(并删除该值):
另一种方法是使用ko.computed
,获取所选数据的id
HTML:
小提琴:
<input data-bind="kendoAutoComplete: { dataTextField: 'name',
dataValueField:'id',
data: choices,
value: selectedChoice }" />
Selected: <strong data-bind="text: selectedChoice"> </strong>
<input data-bind="kendoAutoComplete: { dataTextField: 'name',
dataValueField:'id',
data: choices,
select: function(e) {
$data.selectedChoice(this.dataItem(e.item.index()).id);
}}" />
<input data-bind="kendoAutoComplete: { dataTextField: 'name',
dataValueField: 'id',
data: choices,
value: selectedChoice }" />
Selected: <strong data-bind="text: selectedChoiceId"> </strong>
var ViewModel = function() {
this.choices = ko.observableArray([
{ id: "1", name: "apple"},
{ id: "2", name: "orange"},
{ id: "3", name: "banana"}
]);
this.selectedChoice = ko.observable('');
this.selectedChoiceId = ko.computed(function () {
var choices = this.choices();
for (var i in choices) {
if (choices[i].name == this.selectedChoice())
return choices[i].id;
}
return "";
}, this);
};
ko.applyBindings(new ViewModel());