Angularjs 在$scope中查找键以特定字符串开头的对象?
我有一个这样的文本字段列表Angularjs 在$scope中查找键以特定字符串开头的对象?,angularjs,scope,Angularjs,Scope,我有一个这样的文本字段列表 <ul> <li><input type="text" name="option1" ng-model="option1" /></li> <li><input type="text" name="option2" ng-model="option2" /></li> </ul> 我想找到$scope中的所有选项*
<ul>
<li><input type="text" name="option1" ng-model="option1" /></li>
<li><input type="text" name="option2" ng-model="option2" /></li>
</ul>
我想找到$scope中的所有选项*
提前感谢您的回答我将创建一个数组,该数组将保存输入数据,然后添加一个循环以在html中迭代该数组。这样,您就不需要在范围内搜索特定对象,您就可以准备好数组了
$scope.allOptions = [
{name: 'option1', text: ''},
{name: 'option2', text: ''}
];
然后:
<ul>
<li ng-repeat="option in allOptions"><input type="text" name="{{option.name}}" ng-model="option.text" /></li>
</ul>
问题是我不知道列表中文本字段的数量。应用程序默认有两个列表,但也有一个按钮,允许用户以编程方式添加新选项。因此,使用Jquery,我在ng模型的每个文本字段中添加了一个累进数。第一个ng模型=选项1,第二个选项2 我建议使用angular then(添加另一个输入)
$scope.addInput=function(){
var n=$scope.allOptions.length;
$scope.allOptions.push({name:'option'+(n+1),文本:'});
};
令人敬畏的是这里
有几种方法可以做到这一点
我向您展示的第一种方法将是实现该方法的自然下一步,并允许您根据请求访问这些值
首先,将输入绑定到数组,如下所示:
<ul>
<li><input type="text" name="option[1]" ng-model="option[0]" /></li>
<li><input type="text" name="option[2]" ng-model="option[1]" /></li>
<li><input type="text" name="option[3]" ng-model="option[2]" /></li>
</ul>
$scope.rOptions = [
{name: 'option1', val: ''},
{name: 'option2', val: ''},
{name: 'monkey', val: ''}
];
然后,在控制器中,您可以通过$scope.option
访问它们
一种更高级、更简单/更易于维护的方法可能是使用非常强大的ng repeat
要使用ng repeat
:
首先,在控制器中设置对象数组,如下所示:
<ul>
<li><input type="text" name="option[1]" ng-model="option[0]" /></li>
<li><input type="text" name="option[2]" ng-model="option[1]" /></li>
<li><input type="text" name="option[3]" ng-model="option[2]" /></li>
</ul>
$scope.rOptions = [
{name: 'option1', val: ''},
{name: 'option2', val: ''},
{name: 'monkey', val: ''}
];
然后,您可以使用一组简化的标记输出HTML:
<ul>
<li ng-repeat="rOption in rOptions"><input name="{{rOption.name}}" ng-model="rOption.val"></li>
</ul>
并且,在控制器中,您可以通过$scope.rOption
访问这些值
您可以查看上面的提琴,了解这两个选项是如何工作的,以及如何访问数据。我想获得列表选项值的数组请详细说明,为什么不绑定到数组?例如
ng model=“option[0]”“
?问题在于我不知道列表中文本字段的数量。应用程序默认有两个列表,但也有一个按钮,允许用户以编程方式添加新选项。因此,使用Jquery,我在ng模型的每个文本字段中添加了一个累进数。第一个ng模型=选项1,第二个选项2,…清除问题->清除解决方案,我不理解你的观点。。。无需添加任何文字。我同意@cale_b也需要解释。不仅如此。问题很明显。给你一个明确的解决方案。OP和未来的访问者可能不知道ng repeat
,它是如何工作的,在哪里可以找到它的文档,等等。好的,添加了一些词。问题是我不知道列表中文本字段的数量。应用程序默认有两个列表,但也有一个按钮,允许用户以编程方式添加新选项。因此,使用Jquery,我在ng模型的每个文本字段中添加了一个累进数。第一个ng模型=选项1,第二个选项2。。。