【问题标题】:Update data from html table using angular js and radio button使用 Angular js 和单选按钮从 html 表中更新数据
【发布时间】:2016-01-13 06:47:54
【问题描述】:

我有一个 HTML 表格,其中包含一些来自 Web 服务的数据,并且我正在使用 Angular,然后我有 3 个单选按钮来显示来自我的数据源的前 10、20 和 30 条记录。这 3 个按钮应该为每个按钮调用一个 Web 服务,Web 服务已经在工作,但我不知道如何让这些单选按钮显示表中的新数据,该表的结构不会改变,因为我正在使用 Angular 我可以避免刷新整个页面。

有人有这方面的例子吗?

我的表格在一个不同的 div 中,它有自己的控制器来显示一些数据:

<div ng-controller="ctrlOne">
  <table>
   <tr ng-repeat="d in data">
    <td>{{d.field1}}</td>
   </tr>
  </table>
</div>

在另一个 div 中,我有我的单选按钮:

   <div class="radio">
    <label class="radio-inline"><input type="radio" name="top30">TY Top 30 Categories</label>
    <label class="radio-inline"><input type="radio" name="top20">TY Top 20 Brands</label>
    <label class="radio-inline"><input type="radio" name="top10">TY Top 10 Suppliers</label>
   </div>

还没有控制器。

【问题讨论】:

    标签: javascript angularjs


    【解决方案1】:

    您可以使用单选组来选择这样的数据模型..

     <div class="radio">
      <label class="radio-inline"><input type="radio" ng-model="tableVal" value="data10">Show top 10</label>
      <label class="radio-inline"><input type="radio" ng-model="tableVal" value="data20">Show top 20</label>
      <label class="radio-inline"><input type="radio" ng-model="tableVal" value="data30">Show top 30</label>
    </div>  
    <table ng-if="tableVal === 'data10'">
     <tr ng-repeat="d in data10">
      <td>{{d}}</td>
     </tr>
    </table>
    
    <table ng-show="tableVal === 'data20'">
     <tr ng-repeat="d in data20">
      <td>{{d}}</td>
     </tr>
    </table>
    
    <table ng-show="tableVal === 'data30'">
     <tr ng-repeat="d in data30">
      <td>{{d}}</td>
     </tr>
    </table>   
    

    控制器中的数据集示例:

    app.controller('MainCtrl', function($scope) {
      $scope.tableVal = 'data10'
      $scope.data10 = ['10-first','10-second','10-third','10-fourth'];
      $scope.data20 = ['20-first','20-second','20-third','20-fourth'];
      $scope.data30 = ['30-first','30-second','30-third','30-fourth'];
    });
    

    【讨论】:

    • 感谢您的宝贵时间!让我试试看我是否有任何问题:)
    • 这三个Web服务应该在$watch里面声明? @BrianBaker
    • 这取决于你想做什么。您是要在页面加载时获取整个模型并使用单选按钮进行过滤,还是在按下单选按钮时调用相应的 Web 服务?
    • 其实为了避免性能问题,我正在做的是同时加载三个Web服务,我创建了三个表,因为数据的结构发生了变化,所以我想隐藏前两个和然后根据我的单选按钮选择隐藏。
    • 更新答案以反映动态显示表格
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-02-23
    • 2018-10-12
    • 1970-01-01
    • 2021-03-15
    • 1970-01-01
    • 2021-12-17
    • 2013-08-26
    相关资源
    最近更新 更多