在php中,我们通常使用name="skills[]“作为数组从表单中获取数据,但是如何在angularjs中这样做呢?PHP示例:
<input type="text" name="skills[]" />我想在AngularJS中做同样的事情,但是得到语法错误。我试着这样做:
我的代码:
<input type="text" name="skillname" required data-ng-model="c.skills[].skillname" class="small">
<input type="text" name="skillname" required data-ng-model="c.skills[].skiilname" class="small">需要帮助。谢谢。
发布于 2016-04-16 07:41:15
在角度上,数据控制您的UI,而不是反过来。控制器中应该有skills数组。
app.controller('MainCtrl', function($scope) {
$scope.skills = [
{},
{},
{}
];
});你会给ng-repeat什么的。
<div ng-repeat='skill in skills'>
<input ng-model='skill.name' />
</div>这样,在页面上添加新的textfields就像将一个新元素推送到数组$scope.skills.push({})一样容易。不需要创建DOM元素或任何东西。这是角度方向。
演示:http://plnkr.co/edit/Uqldnst3gnF07SJGV6Bn?p=preview
发布于 2016-04-16 07:41:02
试试这个:
你的控制器是:
app.controller('MainCtrl', function($scope) {
$scope.skills = [];
$scope.formData={
skillname:[]
};
});你的html是:
<div ng-repeat="skill in skills">
<input type="text" required ng-model="formData.skillname[$index]" ng-init="formData.skillname[$index]=skill.skillname" class="small">
</div>没有ng-重复,您可以使用以下代码:
<input type="text" required ng-model="skillname[0]" ng-init="skillname[0]=skills[0].skillname" class="small">
<input type="text" required ng-model="skillname[1]" ng-init="skillname[1]=skills[1].skillname" class="small">https://stackoverflow.com/questions/36661394
复制相似问题