需要显示与同一客户端名称相关的多条记录



我在nodejs中编写了一个API,它将根据给定的客户端名称获取所有相关记录。在角度中,我使用下拉列表选择具有唯一名称的客户端名称。到目前为止,它工作正常,但我想显示所有相关数据(如果一个客户端名称包含 2-3 条不同的记录(。但是当我选择客户端名称时,它只获取一行的数据。

这是我的工作API,我已经与邮递员进行了检查:

  router.get('/getbyname/:clientname',function(req,res){
     var clientname= req.params.clientname;
    Quotation.find({clientname: clientname} ,function(err,user){
        if(err){
            res.json({ success: false, message: 'Can't display details'});
        }else{
            res.json(user);
        }
    });
});

在角度中,我使用以下代码段来获取所有数据并从报价表中按客户端名称过滤:

 var onPersonGetCompleted01 = function(response){
      $scope.quotations = response.data;
       //console.log($scope.quotations);
  }

    var refreshQuotation = function(){
      $http.get('/api/getallquotations')
        .then(onPersonGetCompleted01);
      console.log('Response received...');
    }

  var onGetByName = function(response){
        $scope.clientname = response.data;
        console.log(response.data);
    };
    $scope.searchPerson = function(clientname){
        $http.get('/api/getbyname/' + clientname)
                .then(onGetByName);
        console.log(clientname);
    };  

鉴于我有这样的选择:

 <select ng-model="clientSelected" ng-options="quote.clientname for quote in quotations | unique:'clientname'" ng-click="searchPerson(quote.clientname)">
<option value="0">Default</option>

根据客户端名称选择数据没有问题。但我只想知道如何使用相同的客户端名称显示相关数据。由于有超过 2-3 个文档。

如果我这样使用,它只会获取一行的数据:

<div class="form-group">
  <label class="control-label col-sm-4" for="email">UOM:</label>
  <div class="col-sm-6">
    <input type="text" class="form-control" required id="email" 
   placeholder=""  name="projectid" ng-model=clientSelected.uom>
  </div> 

如果您想显示具有相同客户端名称的多个文档,那么我们应该在 ng-options 部分中使用track by $index重新| unique:'clientname'。所以最终的ng-options代码将ng-options="quote.clientname for quote in quotations track by $index"

我想我已经接近获得所需的输出了,现在我可以在控制台中获取所有相关值(行(在选择标签中进行轻微更改后。

    <select  class="chosen-select form-control col-sm-3" ng-
    model="clientSelected" ng-options="quote.clientname for quote in 
    quotations | unique: 'clientname'" ng-
    click="searchPerson(clientSelected.clientname)" >
    <option value="0">Default</option>   
  </select>

最初我将 quote.clientname searchPerson(quote.clientname) 作为参数传递,现在我将其更改为 searchPerson(clientSelected.clientname) 。它现在工作正常。

相关内容

  • 没有找到相关文章

最新更新