- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
-6ren"> -当动态创建“inputName”时,人们将如何使用 formName.inputName.$valid? HTML 输入属性“name”的输出将是字符串“variablename”-6ren">
当动态创建“inputName”时,人们将如何使用 formName.inputName.$valid?
<form name="formName">
<input ng-repeat="(variable) in variables"
type="text" name="variable.name"
ng-model="variable.name" required />
</form>
HTML 输入属性“name”的输出将是字符串“variablename”,它将应用于所有重复的输入。
如果我们尝试这个
<form name="formName">
<input ng-repeat="(variable) in variables"
type="text" name="{{ variable.name }}"
ng-model="variable.name" required />
</form>
HTML 输入属性“name”的输出将是字符串“{{ variable.name }}”,它将应用于所有重复的输入。
在这两种情况中的任何一种情况下,都不会动态创建每个重复输入元素的名称属性;所有输入将共享相同的输入名称。如果您想根据特定名称调用特定输入,则不太好。
最佳答案
看起来 Angular 1.3 修复了这个问题 ( https://stackoverflow.com/a/32907176/3854385 )
Angular 1.3+ 现在可以实现这一点:
<form name="vm.myForm" novalidate>
<div ng-repeat="p in vm.persons">
<input type="text" name="person_{{$index}}" ng-model="p" required>
<span ng-show="vm.myForm['person_' + $index].$invalid">Enter a name</span>
</div>
</form>
在某些情况下,如果您可以传递信息,内部表单是一个很好的解决方案:( https://stackoverflow.com/posts/12044600/ )要解决“动态名称”问题您需要创建一个内部表单(请参阅 ng-form ):
<div ng-repeat="social in formData.socials">
<ng-form name="urlForm">
<input type="url" name="socialUrl" ng-model="social.url">
<span class="alert error" ng-show="urlForm.socialUrl.$error.url">URL error</span>
<button ng-click="doSomething(urlForm.socialUrl.$valid)">Test</button>
</ng-form>
</div>
另一种选择是为此编写自定义指令。
这是 jsFiddle 显示 ngForm 的用法:http://jsfiddle.net/pkozlowski_opensource/XK2ZT/2/
关于javascript - Angularjs 中的动态表单名称属性 <input type ="text"name ="{{ variable-name }}"/>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27071413/
概述 CentOS Stream 成立于 2019 年,是“RHEL 下一步的滚动预览”。Red Hat 首席技术官 Chris Wright 和 CentOS 社区经理 Rich Bowen 各
我有一个使用 Mesosphere DC/OS 编排选项进行配置的 Azure 容器服务 (ACS) 集群。我可以在 Marathon UI 中创建一个应用程序。 但是,当我通过 Marathon U
我是一名优秀的程序员,十分优秀!