javascript - 带有动态单选按钮的必需属性(ng-repeat)

标签 javascript html angularjs

当使用 HTML5 的“必需”属性进行 radio 类型输入和 Angularjs 表单验证时,我得到了奇怪的结果

我的输入:

<form name="myForm">
    <div ng-repeat="i in [0,1,2]">
        <input type='radio' name='var1' ng-model='var1' value='1' required />1<br />
        <input type='radio' name='var1' ng-model='var1' value='2' required />2<br />
        <input type='radio' name='var1' ng-model='var1' value='3' required />3<br />
        <span ng-show="myForm.var1.$error.required" ng-click="">Choose an option.</span>
        <button ng-disable="myForm.$invalid">Submit</button>
    </div>
</form>

当我选择一个选项时,其他选项将被取消选择。此外,两者的表单验证都已激活/停用。

最佳答案

是的,这是因为重复了“name”属性,试试这个:

<form name="myForm">
    <div ng-repeat="i in [0,1,2]">
        <input type='radio' ng-model='i.var1' value='1' required />1<br />
        <input type='radio' ng-model='i.var1' value='2' required />2<br />
        <input type='radio' ng-model='i.var1' value='3' required />3<br />
        <span ng-show="i.var1==''" ng-click="">Choose an option.</span>
        <button ng-disable="i.var1==''">Submit</button>
    </div>
</form>

删除名称并直接使用 i.var1=='' 进行表单验证/禁用

关于javascript - 带有动态单选按钮的必需属性(ng-repeat),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19187119/

相关文章:

javascript - 将 JS 变量添加到 AngularJS 目录?

javascript - CSS - 如何格式化内容数据标题文本

jquery - 从头开始使用鼠标和 jquery 创建一个 slider

javascript - 通过单击列表更改 div 内容?

javascript - 使用 Backbone.js 为特定路线注入(inject)部分 View ,例如 AngularJs 上的 ng-view

html - DIV 填充可用空间

javascript - 在 Titanium 中分离平台特定代码的最佳方法

javascript - node.js - 互变量

javascript - 如何在 page_load() 之前使用 javascript 填充 html 元素?

javascript - 如何创建带点的 slider