首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在输入文本中使用name="skills[]“?

如何在输入文本中使用name="skills[]“?
EN

Stack Overflow用户
提问于 2016-04-16 07:27:12
回答 2查看 92关注 0票数 2

在php中,我们通常使用name="skills[]“作为数组从表单中获取数据,但是如何在angularjs中这样做呢?PHP示例:

代码语言:javascript
复制
<input type="text" name="skills[]" />

我想在AngularJS中做同样的事情,但是得到语法错误。我试着这样做:

我的代码:

代码语言:javascript
复制
<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">

需要帮助。谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-04-16 07:41:15

在角度上,数据控制您的UI,而不是反过来。控制器中应该有skills数组。

代码语言:javascript
复制
app.controller('MainCtrl', function($scope) {
  $scope.skills = [
    {},
    {},
    {}
  ];
});

你会给ng-repeat什么的。

代码语言:javascript
复制
<div ng-repeat='skill in skills'>
  <input ng-model='skill.name' />
</div>

这样,在页面上添加新的textfields就像将一个新元素推送到数组$scope.skills.push({})一样容易。不需要创建DOM元素或任何东西。这是角度方向。

演示:http://plnkr.co/edit/Uqldnst3gnF07SJGV6Bn?p=preview

票数 1
EN

Stack Overflow用户

发布于 2016-04-16 07:41:02

试试这个:

你的控制器是:

代码语言:javascript
复制
app.controller('MainCtrl', function($scope) {
   $scope.skills = [];
  $scope.formData={
   skillname:[]
      };
  });

你的html是:

代码语言:javascript
复制
<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-重复,您可以使用以下代码:

代码语言:javascript
复制
<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">
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36661394

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档