0
선택한 항목 (템플릿은 정상적으로 작동하지만 드롭 다운 메뉴에서 사용자에게 표시되는 내용에만 영향을줍니다) 이후에 하나 이상의 값을 dataTextField 특성에 삽입하려고합니다. 나는 구문 분석 함수를 사용하여 ID를 풀려고했다 :Kendo 자동 완성, 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;
}
};
});