如何禁用每日复选框并使用Angular.js获取所选值?

时间:2016-05-26 11:22:01

标签: javascript html angularjs

我有一个表,其中一些动态下拉列表存在7天。我还有+按钮实现,可以在一天内动态创建更多行。

对于每行我都有复选框。在这里,我需要每天用户只能检查最多两个复选框,其他将保持禁用状态。

在我的情况下,从总表中选中2复选框后,其他正在变为禁用但在这里我需要每天禁用。

我的所有工作代码都出现在plunkr内。

在那里你可以找到一个Edit按钮;我需要当用户点击编辑按钮时,存储的数据(点击商店按钮)将再次在必填字段上设置复选框。

我的所有代码都是here

1 个答案:

答案 0 :(得分:0)

这是你需要的,有点难以理解你的问题:

所以代替你的禁用功能:

  $scope.chk =[];
  $scope.isDisabled = function(dayName) {
    var count = 0;
    if ($scope.chk[dayName]) {
      for (var prop in $scope.chk[dayName]) {
        if ($scope.chk[dayName][prop]) count++;
      }
    }
    return count++ === 2;
  };

注意禁用功能上方的行。然后你的HTML:

    <td>
    <input type="checkbox" 
           name="{{d.day_name}}" 
           value="true"
           ng_model="chk[d.day_name][$index]"
           ng-checked="answerIsSelected($parent.$index, $index)"
           ng-click="toggleAnswerSelected($parent.$index, $index)"
           ng-disabled="isDisabled('{{d.day_name}}')" /> 
    </td>

在这里插入:Plunky McPlunk

似乎按照你的要求去做,2点后禁用。

请查看以下附加链接:More insight

了解更多信息