空消息未在ng-repeat angularjs的空表中显示

时间:2016-12-09 15:39:20

标签: javascript jquery html angularjs html-table

空文本未显示在表格中 我在用桌子 现在是空的

<table class="table table-bordered table-hover">
    <thead>
        <tr>
            <th>ID</th>
            <th>Privilege Name</th>
            <th>PageUrl</th>
            <th>Can Add</th>
            <th>Can Edit</th>
            <th>Can Delete</th>
            <th>Can View</th>
        </tr>
    </thead>
    <tbody>
        <tr ng-repeat="obj in getAssignedPrivilegeslist" ng-show="getAssignedPrivilegeslist.length !=0 && getAssignedPrivilegeslist !='null'">
            <td>{{$index+1}}</td>
            <td>{{obj.PageName}}</td>
            <td><a ng-href="{{'//'+obj.PageUrl }}">{{obj.PageUrl}}</a></td>
            <td>
                <input type="checkbox" name="Add" value="Add" ng-model="obj.CanCreate" />
            </td>
            <td>
                <input type="checkbox" name="Edit" value="Edit" ng-model="obj.CanEdit" />
            </td>
            <td>
                <input type="checkbox" name="Delete" value="Delete" ng-model="obj.CanDelete" />
            </td>
            <td>
                <input type="checkbox" name="View" value="View" ng-model="obj.CanView" />
            </td>
            <td ng-show="getAssignedPrivilegeslist.length==0" id="nofoundop">Please Select Operator</td>
        </tr>
    </tbody>
</table>

然后我设置<td>如果数据长度为0则显示给定的消息,但它没有显示。 请帮助,我将非常感谢你们。

2 个答案:

答案 0 :(得分:3)

您必须在代码中进行以下三项更改:

  • 您可以使用ng-show="getAssignedPrivilegeslist.length !=0"代替ng-show="getAssignedPrivilegeslist.length"。正如Harris Weinstein在他的评论中所建议的那样,如果列表的长度是除了0之外的任何数字,它将评估为真,如果它是0或者不能是0访问(因为它未定义),它将被评估为false。

  • 而不是使用字符串文字getAssignedPrivilegeslist !='null'使用getAssignedPrivilegeslist !=null

  • 将您的元素的错误消息放在<tr>之外,因为您已将ng-show="getAssignedPrivilegeslist.length !=0"放在<tr>标记中。

您可以在sexta13

建议的<tr>代码之外使用此类内容
<tr ng-show="getAssignedPrivilegeslist.length==0" >
   <td id="nofoundop">
      please select operator
   </td>
</tr>

答案 1 :(得分:1)

你的逻辑结构不是很好。

你有你的

<td ng-show="getAssignedPrivilegeslist.length==0" id="nofoundop">
    Please Select Operator
</td>

在ng-repeat内部,只有在getAssignedPrivilegeslist.length!= 0&amp;&amp; getAssignedPrivilegeslist!='null'

你应该在ng-repeat之外有另一个tr,如下所示:

<tr ng-show="getAssignedPrivilegeslist.length==0" >
   <td id="nofoundop">
      please select operator
   </td>
</tr>