简体   繁体   English

显示隐藏 <tr> 基于MULTIPLE <select>盒子-angularjs

[英]Show/Hide <tr> based on MULTIPLE <select> box - angularjs

I have a multiple select box as follows 我有一个多重选择框,如下所示

<select multiple name="transActionGroup" id="transActionGroup" ng-multiple="true" ng-model="transActionGroup" title="Hold CTRL to select more than one transaction type.">
    <option value="None">None</option>
    <option value="Custom Group">Custom Group</option>
    <option value="ACH Credits">ACH Credits</option>
    <option value="ACH Debits">ACH Debits</option>
</select>

I want to show a <tr> , which is hidden by default, when the user selects 'Custom Group' as one of his options from the above select box 我想显示一个<tr> ,当用户从上面的选择框中选择“自定义组”作为其选项之一时,默认情况下它是隐藏的

This is my <tr> 这是我的<tr>

<tr id="custTransGrp" ng-if="transActionGroup === 'Custom Group'">
    <td class="label-cell"> * Custom Group(s) : </td>
    <td>
        <input type="text" ng-model="customTransActionGroup" name="customTransActionGroup" id="customTransActionGroup" />
    </td>
</tr>

I tried 我试过了

ng-if="transActionGroup === 'Custom Group'"

but it didn't work 但这没用

Actually your ngModel is an array , so you can't simple check with === . 实际上,您的ngModel是一个array ,因此您不能简单地使用===检查。

You should use 你应该用

Array.prototype.indexOf() : Array.prototype.indexOf()

<tr id="custTransGrp" ng-if="transActionGroup && transActionGroup.indexOf('Custom Group') != -1">

or even: 甚至:

Array.prototype.includes() (Check the browser compatibility in the link): Array.prototype.includes() (检查链接中的浏览器兼容性):

<tr id="custTransGrp" ng-if="transActionGroup.includes('Custom Group')">

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM