javascript - 在 ng 重复中隐藏和显示

标签 javascript jquery angularjs

    <tbody ng-repeat="T in sal ">
            <!--| filter:search:strict" >-->
             <tr id="tr{{T.id}}" ng-class-odd="'odd'" ng-class-even="'even'">

                 <td >

                  <div class="form-group" ng-repeat="K in datavalue">
    <div ng-show="(p.id == K.emp_id && T.id == K.component_id)" ng-init="hideinputbox(T.id)">
       {{K.amount}}
    </div>

</div> 
<input type="text" placeholder="Enter valueg"  class="form-control" name="cvalue" id="{{T.id}}"  ng-model="T.cvalue"  required/>

 </tr>
        </tbody>
      </table>
      </form>

内部 Controller ,

$scope.hideinputbox = function (k) { 

      $("input#k").hide();
     }

我的问题是如果表达式为真则隐藏输入框。 如果我手动给出 id,它会隐藏输入框,但在循环内它不起作用。我相信这一行导致了问题:

<input type="text" placeholder="Enter valueg"  class="form-control" name="cvalue" id="{{T.id}}"  ng-model="T.cvalue"  required/>

最佳答案

你的函数是错误的。你总是使用字符串k而不是k变量来调用函数。像这样更改您的代码:

$scope.hideinputbox = function (k) { 

      $("input#" + k).hide();
     }

正如 @katmanco 所说,不要将 jQuery 与 AngularJS 一起使用。

但是你为什么隐藏你的元素并且还有ng-show

<div ng-show="(p.id == K.emp_id && T.id == K.component_id)" ng-init="hideinputbox(T.id)">
       {{K.amount}}
    </div>

如果您的ng-show="condition"为假,它将被隐藏,所以我认为您不需要该功能

关于javascript - 在 ng 重复中隐藏和显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33960154/

相关文章:

javascript - 通过 ID 获取动态创建的元素 (Jquery)

javascript - JSX 将对象传递给 React 中的 jsx 标记的值

javascript - d3 sankey 图表 - 沿 x 轴手动定位节点

javascript - FullCalendar 4.1 和调用刷新事件

javascript - jquery-knob 在 Angular Directive(指令)中始终为 NAN

javascript - Facebook JS SDK 滚动

javascript - 替换文本区域中的单词

javascript - 来自嵌套自定义指令的 Angular 调用 Controller 函数

javascript - 如何使用 AngularJS 将 json 中的 url 超链接到同一 JSON 中的文本

javascript - Angular 用户界面路由器状态模板不起作用