Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 剑道自动完成,如何在dataTextField中插入多个值_Javascript_Jquery_Autocomplete_Kendo Ui - Fatal编程技术网

Javascript 剑道自动完成,如何在dataTextField中插入多个值

Javascript 剑道自动完成,如何在dataTextField中插入多个值,javascript,jquery,autocomplete,kendo-ui,Javascript,Jquery,Autocomplete,Kendo Ui,我试图在选定项模板正常工作后,将多个值插入dataTextField属性,但只影响下拉菜单中显示给用户的内容。我尝试使用解析函数L解决id: schema: { parse: function(response) { $.each(response, function(idx, elem) { elem.fullName = elem.name + " " + elem.surname;

我试图在选定项模板正常工作后,将多个值插入dataTextField属性,但只影响下拉菜单中显示给用户的内容。我尝试使用解析函数L解决id:

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;

    }
  };
});

您的解析想法应该可行,但您的模式定义不在数据源范围内。如果您将其放入数据源中,它应该可以正常工作

dataSource: { 
   ...
   schema: {
       ...
   }
}
下面是一个工作示例: