javascript - ng-table 排序不正确
迷茫
迷茫 2017-04-11 11:49:26
[JavaScript讨论组]

<p>
<table ng-table="vm.tableParams" class="table table-condensed table-bordered table-striped">
    <tr ng-repeat="row in $data">
      <td data-title="'商品名'" filter="{iname: 'text'}" sortable="'iname'">{{row.iname}}</td>
      <td data-title="'库存数'" filter="{inums: 'number'}" sortable="'inums'">{{row.inums}}</td>
      <td data-title="'售价'" filter="{iprice: 'number'}" sortable="'iprice'">{{row.iprice}}</td>
    </tr>
 </table>
</p>

如图所示,库存数排序,明显不正确;求解
inums 是从json得到的字符串型;
inums:"30"

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(3)
伊谢尔伦

看看 angular $filter orderby

天蓬老师

用orderby这个angular自带的filter即可

样例:

<p ng-controller="ExampleController">
  <table class="friends">
    <tr>
      <th>Name</th>
      <th>Phone Number</th>
      <th>Age</th>
    </tr>
    <tr ng-repeat="friend in friends | orderBy:foo">
      <td>{{friend.name}}</td>
      <td>{{friend.phone}}</td>
      <td>{{friend.age}}</td>
    </tr>
  </table>
</p>

然后你想改变排序规则的时候,改$scope.foo的值就可以了。比如$scope.foo的值可以是"age"(注意引号),然后angular就会自动依照age的值进行排序了。

建议去看一下官方的文档

PHP中文网

不仅是库存数,其他列的排序也是不会正确的:
把:
<td data-title="'商品名'" filter="{iname: 'text'}" sortable="'iname'">{{row.iname}}</td>

改成
<td data-title="'商品名'" filter="{iname: 'text'}" sortable="'row.iname'">{{row.iname}}</td>

才可以

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号