动态地将名称分配给文本框

时间:2018-05-28 11:53:21

标签: javascript html angularjs html5

我正在运行一个循环来生成文本框,我希望将循环变量附加到生成的文本框的name属性中。请参考以下代码以供参考:

<tr ng-repeat="t in [0,1,2,3,4,5,6,7,8,9]" 
    id="row" {{t}} 
    ng-if="true === isShow[emp.indexOf(empId)][t]">

  <td>
    <input type="text" 
            maxlength="20" 
            class="w3-input w3-border w3-round" 
            name="textVal" 
            ng-pattern="regexText" 
            ng-model="empKeys[emp.indexOf(empId)][t]" 
            style=" width: 100%;height:30px;" 
            placeholder="please enter val here......">
    <div ng-messages="employees.textVal.$error">
      <div ng-message="pattern">Invalid Text</div>
    </div>
  </td>

依旧......

我希望循环变量temp.indexOf(empId)的值也应该附加在上面创建的文本框中,这样每个文本框都有一个唯一的名称,我可以应用ng-messages唯一地

1 个答案:

答案 0 :(得分:0)

首先对于nameid这样的字符串值,将{{t}}放在属性值引号

id="row{{t}}"

name="textVal{{t}}"
// or
name = "{{'textVal' + t}}"

您需要对[]父级属性

使用ng-messages对象表示法
ng-messages="employees['textVal' + t].$error"