Angularjs 如何知道在angular js中选择了哪个元素

Angularjs 如何知道在angular js中选择了哪个元素,angularjs,angularjs-directive,angularjs-scope,ionic-framework,ionic,Angularjs,Angularjs Directive,Angularjs Scope,Ionic Framework,Ionic,我制作了多个选定的popover,用户可以在其中选择多个值。我想在屏幕上打印所有选中的值,或者获取一个包含用户选中的所有元素的对象。我将用其他方式进行解释。在我的演示中,我在屏幕上有一个按钮。单击按钮时,我打开一个包含多个选中元素的弹出窗口。我想获取用户在弹出窗口中选中的所有元素,请检查我的演示。以下是我的演示 请参见此处的更新代码: 您需要在数据JSON列表中添加一个“value”设置,然后单击每个复选框上的bind,将值绑定到它 型号更新 $scope.data =[ {"na

我制作了多个选定的popover,用户可以在其中选择多个值。我想在屏幕上打印所有选中的值,或者获取一个包含用户选中的所有元素的对象。我将用其他方式进行解释。在我的演示中,我在屏幕上有一个按钮。单击按钮时,我打开一个包含多个选中元素的弹出窗口。我想获取用户在弹出窗口中选中的所有元素,请检查我的演示。以下是我的演示

请参见此处的更新代码:

您需要在数据JSON列表中添加一个“
value
”设置,然后单击每个复选框上的bind,将值绑定到它

型号更新

  $scope.data =[
    {"name":"A", value:false},
    {"name":"B", value:false},
    {"name":"C", value:false},
    {"name":"D", value:false},
    {"name":"E", value:false}
  ]
<label class="checkbox">
       <input type="checkbox" ng-model="item.value">
     </label>
     {{item.name}}
HTML已更新

  $scope.data =[
    {"name":"A", value:false},
    {"name":"B", value:false},
    {"name":"C", value:false},
    {"name":"D", value:false},
    {"name":"E", value:false}
  ]
<label class="checkbox">
       <input type="checkbox" ng-model="item.value">
     </label>
     {{item.name}}

{{item.name}

您可以通过添加属性来更改模型:

$scope.data =[
    {"name":"A", checked: false},
    {"name":"B", checked: false},
    {"name":"C", checked: false},
    {"name":"D", checked: false},
    {"name":"E", checked: false}
  ];
您的列表将属性附加到元素(ng model):

这是你的修改版

如果要限制检查,请执行以下操作:

$scope.itemChecked = function(item)
{
    var count = 0;
    angular.forEach($scope.data, function(value, key) {
      count += value.checked ? 1 : 0; 
    });
    if (count > 3)
    {
        item.checked = false;
    }
  }

我们可以给一个限制只有用户选择最大2或3个元素。意思是如果我们给限制2。然后如果用户尝试选择第三个,那么第一个将自动取消选择。我已经帮助了。干杯。我们可以只给一个限制吗?用户选择最大2或3个元素。意思是如果我们给限制2。然后如果用户尝试选择第三个元素,那么第一个元素将自动取消选择
$scope.itemChecked = function(item)
{
    var count = 0;
    angular.forEach($scope.data, function(value, key) {
      count += value.checked ? 1 : 0; 
    });
    if (count > 3)
    {
        item.checked = false;
    }
  }