2016-08-01 6 views
0

ich mehr Auswahlfeld habe alsShow/Hide <tr> basierend auf mehrere <select> box - AngularJS

<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> 

folge ich ein <tr> zeigen mag, die standardmäßig ausgeblendet ist, wenn die 'Custom Group' Benutzer auswählt als eine seiner Optionen aus dem oben Auswahlbox

das ist mein <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> 

ich versuchte

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

aber es hat nicht funktioniert

+0

http: // jsfiddle. net/TahmidTanzim/N9Vqk/ –

+0

Wenn Sie mehr als o auswählen ne Option, transActionGroup wird ein Array sein, das aus den ausgewählten Optionen besteht, z. '['Custom Group', 'ACH Credits']'. – Adwaenyth

+0

Wie kann ich dieses Array im 'ng-if' Attribut vergleichen? – Nishant123

Antwort

1

Eigentlich Ihre ngModel ist ein array, so dass Sie mit === nicht einfach überprüfen können.

sollten Sie verwenden

Array.prototype.indexOf():

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

oder sogar:

Array.prototype.includes() (Überprüfen Sie die Browser-Kompatibilität in Link):

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