1

我有一个带有各种 url 查询字符串的下拉(选择选项)菜单。每个选项代表一个发送回 json 数据的服务器端查询。我想要实现的是,当用户选择一个选项时,Angular 会发送一个 $http.get 来获取 json 数据并更新我的应用程序中的一个表。下面是带有一些 Angular 的 html 模型,以(希望)澄清:
...

<select>
<option value="http://host:8000/getjsondata.jsp?var=1">option1</option>
<option value="http://host:8000/getjsondata.jsp?var=2">option2</option>

<option value="http://host:8000/getjsondata.jsp?var=N">optionN</option>
</select>

<table>
<tr ng-repeat="result in results">
<td>{{value1}}</td>
<td>{{value2}}</td>

<td>{{valueN}}</td>
</tr>
</table>

在 Angular 中最干净的方法是什么?

4

1 回答 1

3
<select ng-options="obj.val as obj.txt for obj in slctOptions"
        ng-change="update()"
        ng-model="slctItem">

</select>
<table>
  <tr ng-repeat="result in results">
     <td>{{result.value1}}</td>
     <td>{{result.value2}}</td>
     <td>{{result.value3}}</td>
  </tr>
</table>
<script>
function MyCtrl($scope, $http) {
    $scope.slctOptions = [
        {
          val: 'a',
          txt: "option1"
        },
        {
          val: 'b',
          txt: "option2"
        },
        {
          val: 'c',
          txt: "option3"
        },
        {
          val: 'n',
          txt: "optionn"
        },
    ];
    $scope.update = function () {
      $http.get('http://host:8000/getjsondata.jsp?var=' + $scope.slctItem).success(function (data) {
        $scope.results = data;
      });
    };
}
</script>
于 2013-01-27T18:51:12.613 回答