如何仅在前一列具有特定值时显示列

时间:2016-12-08 09:18:33

标签: html angularjs if-statement ng-show ng-hide

我将数据从数据库中拉到表中。

表格代码的一小部分如下

<tr>
    <th>Approved</th>
    <th>Edit</th>
</tr>
<tr ng-repeat="x in list">
    <td>
        <span data-ng-show="!editable">{{x.approved}}</span>
        <span data-ng-show="editable">
             <select style="" class="form-control" ng-model="x.approved">
                  <option value="Y">Y</option>
                  <option value="N">N</option>
             </select>
        </span>
    </td>
    <td>
        <span type="submit" data-ng-hide="editable" data-ng-click="editable = true" class="glyphicon glyphicon-edit"></span>
        <span type="submit" data-ng-show="editable" data-ng-click="editable = false; change($index)" class="glyphicon glyphicon-ok-circle"></span>
        <span type="submit" data-ng-show="editable" data-ng-click="editable = false; cancel()" class="glyphicon glyphicon-remove-circle"></span> 
    </td>
</tr>

已批准的列会提供“&#39; Y&#39;或者是&#39; N&#39; 我在后端编写了javascript代码(更改($ index)功能),根据我的需要交换Y和N的值。

第二列始终显示一个可编辑的图标,供我更改值。我希望它仅在{{x.approved}} == N时显示可编辑图标,以便我可以将已批准状态更改为Y.

我不确定如何或在何处使用ng-show选项。

尝试但无法理解ng-show =&#39; {{x.approved}} ==&#34; N&#34;&#39;是否在&#34; td&#34;元件。

帮助将不胜感激。

3 个答案:

答案 0 :(得分:0)

您可以使用ng-show或ng-if来显示,隐藏元素

<span type="submit" ng-if='x.approved=="N"' data-ng-click="editable = true" class="glyphicon glyphicon-edit"></span>

答案 1 :(得分:0)

首先: td元素没有问题,它会正常工作。

在我们访问ng-elements

时使用不带eval-expression
ng-show='x.approved=="N"'

而不是

ng-show='{{x.approved}}=="N"' 

其次:通过ng-if检查您的情况,如

ng-if='x.approved=="N"'

希望它会对你有所帮助。

答案 2 :(得分:0)

span type =&#34;提交&#34;数据-NG隐藏=&#34;可编辑的&#34; data-ng-click =&#34; editable = true&#34; class =&#34; glyphicon glyphicon-edit&#34;&gt; / span&gt;

替换为

span type =&#34;提交&#34; NG-显示=&#39; x.approved ==&#34; N&#34; &安培;&安培; !编辑&#39; data-ng-click =&#34; editable = true&#34; class =&#34; glyphicon glyphicon-edit&#34;&gt; / span&gt;

我通过上述实现获得了理想的答案。 感谢您的支持!