将值从表传递到输入文本Angularjs

时间:2015-02-27 08:56:55

标签: javascript angularjs input html-table

我有一个带有表的输入文本,我在其中使用ng-repeat从JSON中过滤一些值,同时我正在键入。

<input type="text" placeholder="Choose" ng-model="item.sTxt"/>
   <table>
      <thead>
         <tr>
            <th>First Value</th>
            <th>Second Value</th>
         </tr>
      </thead>
      <tbody>
         <tr
             data-ng-repeat="item in numberList.getList | filter:searchText" 
             ng-click="setSelected(item.last)">
             <td>{{item.first}}</td>
             <td>{{item.last}}</td>
         </tr>
      </tbody>
  </table>

当我以这种方式单击表格中的一行时,我可以显示警告:

$scope.idSelectedVote = null;
    $scope.setSelected = function (idSelectedVote) {
        $scope.idSelectedVote = idSelectedVote;
        alert(idSelectedVote);
    }; 

但我会接受该值并将其传递给我的输入文本。我怎么能在angularjs中做到这一点?

1 个答案:

答案 0 :(得分:3)

你可以使用ng-model在文本输入上创建一个模型,然后只需将clicked table row的值传递给该模型,就像这样

<input ng-model='input' type="text" placeholder="Choose"/>



$scope.setSelected = function (idSelectedVote) {
        $scope.idSelectedVote = idSelectedVote;
        $scope.input=idSelectedVote;
        //alert(idSelectedVote);
    };

<小时/> 此外,如果要过滤掉重复列表,可以在过滤器中使用相同的模型。

你可以看到这个Fiddle,它会对输入进行过滤,并在点击tr时将文本放入输入中