为了账号安全,请及时绑定邮箱和手机立即绑定

带有ng-repeat的AngularJS高亮表包含一个下拉列表

带有ng-repeat的AngularJS高亮表包含一个下拉列表

心有法竹 2021-05-11 14:21:11
我的ng-repeat中有一些控件。其中之一是如下所示的下拉菜单。在按钮上单击“我正在验证必填字段”,并要突出显示出现错误的表格单元格。对于下拉菜单,我无法突出显示表格单元格或控件。代码如下。<tr ng-repeat="data in myData">    <td>        <select class="form-control" ng-required="true" ng-options="env for env in types" ng-model="data.type">                             <option value="">Select</option>        </select>    </td>  </tr>但是对于文本框,我可以执行以下操作,并且它突出显示了:<td ng-class="{ 'has-error': myForm['input_' + {{$index}}].$invalid && (myForm['input_' + {{$index}}].$touched || myForm.$submitted) }">    <input type="text" name="input_{{$index}}" required ng-model="data.input" class="form-control" />  </td>上面的代码对于文本框工作正常,我可以看到红色突出显示,但是如果我使用与TD相同的代码,它将无法正常工作。
查看完整描述

2 回答

?
侃侃尔雅

TA贡献1801条经验 获得超16个赞

您的select标签需要一个名称。AngularJS中的验证状态要求form元素具有名称:


<td ng-class="{ 'has-error': myForm['input_select_' + {{$index}}].$invalid && (myForm['input_select_' + {{$index}}].$touched || myForm.$submitted) }">

  <select class="form-control" 

          name="input_select_{{$index}}"

          ng-required="true" 

          ng-options="env for env in types" 

          ng-model="data.type">                 

    <option value="">Select</option>

  </select>

</td> 


查看完整回答
反对 回复 2021-05-27
?
阿波罗的战车

TA贡献1862条经验 获得超6个赞

您尝试使用$ index函数。


<tr ng-repeat="data in myData track by $index">

    <td>

        <select class="form-control" style="color:{{highlight[$index]}};" ng-required="true" ng-options="env for env in types" ng-model="data.type" ng-change="colorchange($index)">                 

            <option value="">Select</option>

        </select>

    </td> 

 </tr>


查看完整回答
反对 回复 2021-05-27
  • 2 回答
  • 0 关注
  • 115 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信