我有这样
<ul>
<li><input type="text" name="option1" ng-model="option1" /></li>
<li><input type="text" name="option2" ng-model="option2" /></li>
</ul>
文本字段列表,我想找到的所有选项*的是在$范围 预先感谢您的回答
我有这样
<ul>
<li><input type="text" name="option1" ng-model="option1" /></li>
<li><input type="text" name="option2" ng-model="option2" /></li>
</ul>
文本字段列表,我想找到的所有选项*的是在$范围 预先感谢您的回答
我会做一个数组,它将保存输入数据,然后添加一个循环在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-model = option1,第二个选项2,...
我推荐使用angular然后(添加另一个输入)。
$scope.addInput = function(){
var n = $scope.allOptions.length;
$scope.allOptions.push({name: 'option'+(n+1), text: ''});
};
<button ng-click="addInput()">Awesomeness is here</button>
明确的问题 - >明确的解决方案,我不明白你的观点...无需添加任何文字 – Damiano
我同意@cale_b也需要解释。不仅代码 –
当然。明确的问题。清楚的解决方案**给你**。 OP和未来的访问者,可能不知道'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.option = [];
然后,在控制器,您可以通过$scope.option
访问它们。可以使用ng-repeat
,这是非常强大的。 ng-repeat documentation
要使用ng-repeat
:
首先,设置对象在你的控制器的阵列,像这样:
$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
访问这些值。
你可以看看上面的提琴,看看这两个工作,以及如何访问数据。
我想获得列表的选项值的数组 – provola
请详细说明 –
那么,为什么不绑定到数组呢?如'ng-model =“选项[0]”'? –