单击时更新ng-model的值

时间:2016-06-22 12:49:33

标签: javascript angularjs ionic-framework

我想做一个自动完成的邮件系统。

  1. 用户点击输入
  2. 用户列表显示在输入
  3. 下方
  4. 用户可以选择一个名称
  5. 用户的名字进入输入。
  6. 这些步骤很有效,但是一旦用户开始输入字母,就会应用过滤器并修改提议列表。如果用户点击名称,则不会填写输入,因此值为" destinataire"包含名称。

    我可能会因更新ng-model值而遗漏一些东西。

    任何帮助表示赞赏!

    我的HTML:

      <div class="bar bar-header item-input-inset">
          <label class="item-input-wrapper">
            <i class="icon ion-ios-email placeholder-icon"></i>
            <input type="search" ng-init="repertoire=0" ng-click="repertoire=1" ng-model="destinataire"  placeholder="Destinataire" >
          </label>
      </div>
      <label class="item item-input item-stacked-label commentaireeval" ng-show="repertoire==0">
          <input type="text" ng-model="nouveaumessage" placeholder="Votre message ...">
      </label>
      <div id="repertoiredestinataire" ng-show="repertoire==1" ng-click="repertoire=0">
        <ion-item class="item-remove-animate item-icon-right" ng-repeat="patient in patients | filter:{name:destinataire} | orderBy:'+name'" type="item-text-wrap" ng-click="choixdudestinataire(patient.name); destinataire=patient.name">
        {{patient.name}}
        </ion-item>
    

    我的控制器:

    .controller('ChatNouveauCtrl', ['$scope', '$stateParams', 'Chats', 'Patients', function($scope, $stateParams, Chats, Patients) {
        $scope.patients = Patients.all();
        $scope.choixdudestinataire = function(NewDestinataire){
        $scope.destinataire = NewDestinataire;
        };
    }])
    
    1. 点击后的输入,列表: image 1

    2. 如果用户点击某个项目而没有写作(它的作品!): image 2

    3. 如果用户开始输入字母,则会应用过滤器(它可以正常工作!)。但是如果用户在写入后单击某个项目,则输入不包含所选内容名称

0 个答案:

没有答案