我有一个带有表的输入文本,我在其中使用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中做到这一点?
答案 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时将文本放入输入中