在多次添加数据时使用所选项目

时间:2017-06-19 15:09:28

标签: javascript angularjs node.js

我有一个多选表单控件,用户选择了很多选项,使用这些选项我需要在数据库中填写一个表,我需要为每个选中的项执行此操作,我使用了一个循环但有些如何只适用于最后选择的项目,我不知道我做错了什么部分:

app.ajoutProjet= function () {
      for(var i=0;i<result.data.projetsListe.length;i++){ 
         if(result.data.projetsListe[i].NomProjet==app.ajoutData.NomProjet){ 
          app.ajoutData.projet_id=result.data.projetsListe[i].IdProjet;     
         }
      }
          var compteur=app.test.length;
          var j=0;
          do { app.ajoutData.col_id=app.test[j];
               CP.createCP(app.ajoutData).then(function(result){
               if(result.data.success==true){ 
               console.log("the association result : " +result.data.CP);
               }
               });         
               j++
              }while(j<compteur)            
};

观点:

<label>Nom du projet:</label>
<input class="form-control" type="text" name="NomProjet" placeholder="Entrez le nom du projet" ng-model="ajouter.ajoutData.NomProjet">
<br>
<label>Les collaborateurs:</label><br>
<select multiple class="form-control" name="col_id" ng-model="ajouter.test">
<option ng-repeat="c in collaborateursListe" value="{{c.IdCollaborateur}}">{{c.NomCollaborateur}}</option>
 </select>

帖子请求:

router.post('/ColProjet',function(req , res){
 col_projet.Projet_col.sync({force: false}).then(function () {
 return  col_projet.Projet_col.create({
     IdProjetCol : req.body.IdProjetCol,
     col_id : req.body.col_id,
     projet_id: req.body.projet_i});

服务:

createCP : function (ajoutData) {
  return $http.post('/api/ColProjet',ajoutData);
  }

我现在被困在这里一段时间,无法找出问题所在

1 个答案:

答案 0 :(得分:1)

不清楚 app.ajoutData.NomProjet 的来源,但看起来您正在迭代 projetListe 中的每个项目,并指定应用。 aboutData.projet_id 到当前项的id。

      for(var i=0;i<result.data.projetsListe.length;i++){
         app.ajoutData.projet_id = result.data.projetsListe[i].IdProjet;

CP()位于if块中,检查 app.ajoutData.NomProjet 是否与当前项目中的相同。

         if (result.data.projetsListe[i].NomProjet==app.ajoutData.NomProjet) {

由于 NomProjet 永远不会重新分配,只有 projet_id ,如果只有一个项目包含该名称,CP只会运行一次。