代码之家  ›  专栏  ›  技术社区  ›  Tarun

将名称动态分配给文本框

  •  1
  • Tarun  · 技术社区  · 6 年前

    我正在运行一个循环来生成文本框,我希望将循环变量附加到生成的文本框的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>
    

    等等……

    我想要循环变量 t 以及 emp.indexOf(empId) 也应该附加在上面创建的文本框中,以便每个文本框都有一个唯一的名称,并且我可以应用 ng-messages 独特地。

    1 回复  |  直到 6 年前
        1
  •  0
  •   charlietfl    6 年前

    首先是字符串值,比如 name id {{t}} 在属性值引号内

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

    你需要使用 [] 对象符号 ng-messages 父属性

    ng-messages="employees['textVal' + t].$error"