Javascript 基于单选按钮结合文本框的AngularJS过滤表

Javascript 基于单选按钮结合文本框的AngularJS过滤表,javascript,html,angularjs,Javascript,Html,Angularjs,我是angularjs新手,我想在这里实现当我单击一个单选按钮时,文本框应该按特定列过滤表格。当我单击另一个单选按钮时,文本框应按另一列过滤表格。例如,当我单击“sficode”单选按钮时,文本框将根据sficode列过滤表格,当我单击“标题/说明”时,文本框应根据该列“说明”过滤表格 提前感谢..我重写了您的部分代码。现在,表中的ng重复看起来像 <tr ng-repeat="corrItem in CorrItems|filter: searchText"> <td &g

我是angularjs新手,我想在这里实现当我单击一个单选按钮时,文本框应该按特定列过滤表格。当我单击另一个单选按钮时,文本框应按另一列过滤表格。例如,当我单击“sficode”单选按钮时,文本框将根据sficode列过滤表格,当我单击“标题/说明”时,文本框应根据该列“说明”过滤表格


提前感谢..

我重写了您的部分代码。现在,表中的ng重复看起来像

<tr ng-repeat="corrItem in CorrItems|filter: searchText">
 <td >{{corrItem.SFICode}}</td>
 <td>{{corrItem.Desc}}</td>
</tr>
您可能可以进一步清理您的代码,无论如何,坚持我创建的原始代码,您可以尝试。

这将有助于您:

一些一般性的建议,使用大写字母,并在css文件中收集您的样式属性

Angular中的数组不应以大写字母开头(Corriems->Corriems),对象属性(SFICode->SFICode)等也不应以大写字母开头

 $scope.CorrItems=[{"SFICode":"803.025.01","Desc":"Repair coupling of the discharge pump of the Bilge Water Separator"},{"SFICode":"823.125.01","Desc":"pump of the Bilge Water Separator"},]
<tr ng-repeat="corrItem in CorrItems|filter: searchText">
 <td >{{corrItem.SFICode}}</td>
 <td>{{corrItem.Desc}}</td>
</tr>
<fieldset class="form-group">
  <legend>Search</legend>
  <input type="radio" name="Search" id="rdoSfiCode" value="SFICode" ng-model="radioValue">
  <label for="rdoSfiCode">SfiCode</label>
  <input type="radio" name="Search" id="rdoTitleDisc" value="Desc" ng-model="radioValue">
  <label for="rdoTitleDisc">Title/Discription</label><br>
  <input ng-model="searchText[radioValue]" ng-init="searchText = {}; radioValue='SFICode'" type="text" />
</fieldset>
 <input type="radio" name="filter" value="SFICode" ng-model="filter" ng-change="clearFilter()">
 <label for="rdoSfiCode">SfiCode</label>

 <input type="radio" name="filter" value="Desc" ng-model="filter" ng-change="clearFilter()">
 <label for="rdoTitleDisc">Tile/Discription</label>


 <input type="text" ng-model="search[filter]" />


<table>
  <tr ng-repeat="(key,value) in data | filter:search">
    <td>{{value.SFICode}}</td>
    <td>{{value.Desc}}</td>
  </tr>
</table>
var app = angular.module("myapp", []);
app.controller("main", function($scope) {
  $scope.data = [{
    SFICode: "803.025.01",
    Desc: "Repair coupling of the discharge pump of the Bilge Water Separator"
  }, {
    SFICode: "823.125.01",
    Desc: "pump of the Bilge Water Separator"
  }];

  $scope.clearFilter = function() {
    $scope.search = {};
  }
});