4

我有一个关于开关的清单。如何让每个开关以该对象和开关作为参数调用函数?

我试图为我的复选框设置“ng-change”指令,但该函数似乎没有被调用。如何调用我创建的 toggleSync 函数?

我是一个完全的新手,所以如果我需要认真的帮助,我很抱歉。

<div id="track-list" ng-controller="Controller" ng-init="update()">
  <div class="data-table">
  <table class="table table-hover tablesorter">
    <tr ng-repeat="item in items">
      <td><a href='{[{item.path}]}/{[{item.id}]}'>{[{item.title}]}</a></td>
      <td>{[{item.time_created}]}</td>
      <td>
        <div class=checkbox>
          <input ng-model="value" id="check{[{$index}]}" type="checkbox" ng-checked="!item.deleted" ng-change="toggleSync(item.id, this)" ng-true-value="YES" ng-false-value="NO"/>
          <label for="check{[{$index}]}">{{value}}</label>
        </div>
      </td>
    </tr>
  </table>


function Controller($scope) {
  console.log("init");
  $scope.items = [];

  $scope.toggleSync = function(objectId, input) {
    console.log("toggle sync");
  }
}
4

1 回答 1

4

这是一个带有您的代码和一些更正的插件(即:您使用了标签分隔符 {[{item.title}]} 而不是 {{item.title}})

链接:http ://plnkr.co/edit/f9ngMMe8XJT4QDlA0Nx0?p=preview 。

在此演示中,有一个表格,其中包含将 item.path/item.id 显示为链接的行,然后是 item.title 和一个根据其状态将值设置为 YES/NO 的复选框。当复选框状态发生变化时,toggleSync 函数将被调用,并将项目作为参数。输入复选框具有模型 item.value,它是 toggleSync 函数内部可用的属性。

于 2013-04-14T05:44:56.650 回答