在编辑表单时获取xeditable复选框的当前值

Kev*_*ans 4 javascript angularjs x-editable

如果选中了另一个复选框,我希望显示一个复选框,但只在编辑表单时才显示此复选框.由于模型在编辑时没有得到更新,因此我不能ng-show根据模型的值来选择第二个复选框.

tl; dr:在编辑表单中获取xeditable复选框的值

这是我目前正在使用的html:

    <div class="col-xs-1 pad-xs text-center">
      <span editable-checkbox="field.left">
        <span class="fa fa-check" ng-if="field.left"></span>
      </span>
    </div>
    <div class="col-xs-1 pad-xs text-center">
      <span editable-checkbox="field.right" ng-show="~~here~~">
        <span class="fa fa-check" ng-if="field.right"></span>
      </span>
    </div>
Run Code Online (Sandbox Code Playgroud)

我可以添加e-ng-change到第一个复选框以确定更改,但我无法正确检索值.

Kev*_*ans 13

哦,我想我明白了.

如果传递this给函数,该$data参数将反映复选框的当前值.

<div class="col-xs-1 pad-xs text-center">
  <span editable-checkbox="field.left" e-ng-change="changeField(this, field)">
    <span class="fa fa-check" ng-if="field.left"></span>
  </span>
</div>
<div class="col-xs-1 pad-xs text-center">
  <span editable-checkbox="field.right" e-ng-show="field._left">
    <span class="fa fa-check" ng-if="field.right"></span>
  </span>
</div>
Run Code Online (Sandbox Code Playgroud)

在我的changeField函数中,我正在使用它

  $scope.changeField = function(self, field) {
    field._left = self.$data;
  };
Run Code Online (Sandbox Code Playgroud)