Я пытаюсь вставить более одного значения в атрибут dataTextField после выбранного элемента (шаблон работает отлично, но влияет только на то, что отображается пользователю в выпадающем меню). Я попытался решить id с помощью функции parse:Kendo autocomplete, как вставить более одного значения в dataTextField
schema: {
parse: function(response) {
$.each(response, function(idx, elem) {
elem.fullName = elem.name + " " + elem.surname;
});
return response;
}
},
Но это не работает.
Это автономный автозаполнение в форме не в datagrid.
Как я могу решить это, пожалуйста?
Спасибо за любую помощь.
Вот код всего метода:
$scope.$watch("workerDetail.newSuperiorName", function() {
console.log($scope.workerDetail.superior);
$scope.customOptionsSuperior = {
dataSource: {
type: "json",
serverFiltering: true,
transport: {
read: function (options) {
console.log("List");
console.log(options.data);
console.log(options.data.filter.filters[0].value);
requestParams = {
"entityName": "worker",
"data": {
"page": 1,
"pageSize": 20,
"filter": {
"logic": "or",
"filters": [
{
"value": $scope.workerDetail.newSuperiorName,
"operator": "contains",
"field": "name",
"ignoreCase": true
},
{
"value": $scope.workerDetail.newSuperiorName,
"operator": "contains",
"field": "surname",
"ignoreCase": true
}
]
},
"sort": [
{
"field": "name",
"dir": "asc"
}
]
}
};
ApiService.doHttpRequest(
"POST",
$rootScope.apiBaseUrl + "worker/search",
requestParams
)
.success(function (data, status, headers, config) {
// successful data retrieval
console.log("request success, checking state");
console.log(data);
// sent status to global HTTP status service
var jsonResponse = ApiService.processReturnedHttpState(status);
console.log("Status response is " + jsonResponse.result);
// do something with data
switch (jsonResponse.result) {
case true:
if (data.results == null) {
growlNotifications.add($translate.instant('NO_ITEM_FOUND'), 'error', $rootScope.notificationLifetime);
options.success([]);
} else {
options.success(data.results);
}
break;
case false:
growlNotifications.add($translate.instant('LIST_LOADING_ERROR'), 'error', $rootScope.notificationLifetime);
break;
}
})
.error(function (data, status, headers, config) {
console.log("Error");
console.log("Autocomplete loading error");
growlNotifications.add($translate.instant('AUTOCOMPLETE_ERROR'), 'error', $rootScope.notificationLifetime);
});
}
}
},
schema: {
parse: function(response) {
$.each(response, function(idx, elem) {
elem.fullName = elem.name + " " + elem.surname;
});
return response;
}
},
dataTextField: "fullName",
// using templates:
template: '#: data.name # #: data.surname #',
change: function (option, data) {
console.log("change");
console.log(this.value());
},
// event triggered after selection of the item from autocomplete
select: function (e) {
console.log("select");
var item = e.item;
var text = item.text();
var index = item.index();
var dataItem = this.dataItem(index);
$scope.workerDetail.superior = dataItem;
}
};
});