使用angularjs将复选框设置为已选中

时间:2014-01-30 11:50:12

标签: angularjs angularjs-directive angularjs-scope

我有一些复选框,它们的值在数据库中是'Y'或'N'作为枚举。为了进行更新我必须检查所有复选框。如何查看复选框已选中。 这是复选框的代码

<label class="radio-inline">
  <input type="checkbox"  ng-model="newItem.have_voter_id"  value="have_voter_id" /><?php echo $this->lang->line('label_voter_id'); ?>
</label>
<label class="radio-inline">
  <input type="checkbox"   ng-model="newItem.have_passport" value="passport" /> <?php echo $this->lang->line('label_passport'); ?>
 </label>

这是查看和更新​​的功能

 $scope.edit = function(id,family_id) {

    $scope.action = 'update';
    FamilyMem.get({id:id,family_id:family_id}, function (response) { // success            
        $scope.newItem = response.data; // store result to variable            
          $("#myModal").modal('show');
        }, function (error) { // ajax loading error
            Data.errorMsg(); // display error notification
            //$scope.edit = false;
        });
  };

和编辑按钮

  <a href="" class="btn btn-magenta btn-sm" ng-click="edit(family_member.id,family_member.family_id)">

3 个答案:

答案 0 :(得分:16)

使用ng-checked复选框,

<label class="radio-inline">
  <input type="checkbox"  ng-model="newItem.have_voter_id"  value="have_voter_id" ng-checked="newItem.have_voter_id=='Y'"/><?php echo $this->lang->line('label_voter_id'); ?>
</label>

<label class="radio-inline">
  <input type="checkbox"   ng-model="newItem.have_passport" value="passport" ng-checked="newItem.have_passport=='Y'"/> <?php echo $this->lang->line('label_passport'); ?>
</label>

答案 1 :(得分:0)

根据您对复选框的操作,模型newItem.have_voter_idnewItem.have_passport设置为truefalse。如果选中“voter_id”复选框,则模型newItem.have_voter_id的值将更新为true,如果未选中,则该值将更新为false。另一个复选框也是如此。

答案 2 :(得分:0)

下面的链接对我有很大帮助。

您需要初始化模型,然后如果模型值与值匹配,则会被选择。