【发布时间】:2014-08-24 13:28:57
【问题描述】:
我在 ng-show 指令中使用 ng-repeat 值时遇到问题。
我尝试了许多解决方案,"myForm.".{{value}}.".$error.required" 没有{{}},甚至下面的示例在ng-show 指令中没有{{}}。
似乎放入ng-show 的值搞砸了。在命名我的输入和创建输入控制条件时,我希望能够使用来自字段的变量(由ng-repeat 生成)创建多个字段。
<form name="myForm">
<div ng-repeat="fields in logEntry.StringValues">
{{fields.Title}} <input type="text" name="{{fields.PropertyInfoName}}" ng-model="user" required>
<span class="error" ng-show="myForm.fields.PropertyInfoName.$error.required">
Required!
</span><br>
</div>
编辑:以下代码有效,但没有我需要的 ng-repeat。
<form name="myForm">
SomeText Here: <input type="text" name="testName" ng-model="user" required>
<span class="error" ng-show="myForm.testName.$error.required">
Required!
</span><br>
</form>
【问题讨论】:
-
你在寻找这样的东西吗:jsfiddle.net/thomporter/ANxmv/2
-
是的,当我在 ng-repeat 指令之外创建上述表单时,提供了相同的功能。但问题是我需要创建很多表单并根据从我的 logEntry.StringValues 返回的每个对象对所有表单进行验证,因此需要使用 ng-repeat。 (我可以让代码自己正常工作,但在 ng-repeat 内部,它会拧紧)
-
我明白了。做了一些研究,我遇到了this question here。我相信这是一种解决方案。唯一其他易于访问的选项是构建您自己的指令。希望有帮助!
-
这解决了我的问题!谢谢!
标签: angularjs angularjs-directive angularjs-ng-repeat ng-repeat ng-show