按数组中的字段过滤 - angularJS

我试图显示数组中的一些行,并按某个字段过滤它们。


例如:


我有数组“fieldindex”,数组中的字段是:


字段名

页面索引

数组内容为:


[{fieldname:'firstname',pageindex:'1'},{fieldname:'lastname',pageindex:'2'}]

我有这个代码:


<input type="text" id="pageindex" />


    <span class="fieldindex" ng-repeat="x in fieldsonpdf">

    {{x.fieldname}}</span>

我希望跨度仅显示“pageindex”等于输入值的字段


例如:如果输入的值为1,则跨度显示“firstname”,


如果输入的值为 2,则范围显示“lastname”。


感谢帮助者。


HUWWW
浏览 103回答 2
2回答

MM们

您可以添加ng-model到输入中,例如<input type="text" id="pageindex" ng-model="pageindex"/>然后你可以使用pageindexas过滤器点ng-repeat赞,<span class="fieldindex" ng-repeat="x in fieldsonpdf | filter:pageindex">工作片段:angular.module('test', [])&nbsp; &nbsp; .controller('test', ['$scope', function ($scope) {&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; $scope.fieldsonpdf =&nbsp;&nbsp; &nbsp; [&nbsp; &nbsp; &nbsp;{fieldname:'firstname',pageindex:'1'},&nbsp; &nbsp; &nbsp;{fieldname:'lastname',pageindex:'2'}&nbsp; &nbsp; ]&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; $scope.pageindex = '1';&nbsp; &nbsp;&nbsp;}]);<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.7.5/angular.min.js"></script><div ng-app="test" ng-controller="test">&nbsp; &nbsp; <input type="text" id="pageindex" ng-model="pageindex"/>&nbsp; &nbsp; <span class="fieldindex" ng-repeat="x in fieldsonpdf | filter:pageindex">&nbsp; &nbsp; {{x.fieldname}}</span></div>

慕斯王

让我们考虑一下您已经从输入中获得了值。您可以使用该函数filter来获取与您的条件匹配的所有对象,或者只是find为了获得第一个匹配项,最好的方法是将此代码添加到您的控制器中并使用您的示例从模板进行访问:const list = [{fieldname:'firstname',pageindex:'1'},{fieldname:'lastname',pageindex:'2'}];const getField = (value) => { return list.filter(item => +item.pageindex === value)}然后你只需从你的模板中调用:getField(2)请注意,我item.pageindex使用 强制该属性为数字+。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Html5