我有一个简单而奇怪的问题。 我有一个用ng-repeat制作的下拉框列表。 (代码下方)
<ul>
<li ng-repeat="item in formLIST.ContractType">
<input type="checkbox" ng-click="checkItems(item)" value={{item.ls_ItemIndex}} >{{item.ls_ItemValue}}
</li>
</ul>
这是我的Angularjs代码(下方)
$scope.listitem=[];
$scope.checkItems = function (item) {
$scope.listitem.push({
item: item.ls_ItemValue
});
我的问题是: 我想知道,当我检查或取消选中这些漂亮的小方框时,它会在我的JSON文件中添加或删除它的值。
现在,当我点击我的复选框时,它将添加到我的JSON中。但如果我再次点击它以取消选中它,它将再次添加到我的JSON文件中。 我的代码可以多次添加它们。除去它。 我想只添加一次这些美丽。
答案 0 :(得分:1)
下面:
$scope.checkItems = function (item) {
var idx = $scope.listitem.indexOf(item.ls_ItemIndex);
if(idx == -1) // not selected
$scope.listitem.push(item.ls_ItemIndex);
else // selected
$scope.listitem.splice(idx,1);
}
答案 1 :(得分:0)
我建议您使用ng-model:
<ul>
<li ng-repeat="item in formLIST.ContractType">
<input type="checkbox" ng-model="item.Is_ItemValue" />{{item.ls_ItemValue}}
</li>
</ul>
<!-- selected list -->
<ol>
<li ng-repeat="item in formLIST.ContractType | filter: {Is_ItemValue:true}"> {{ item }}</li>
</ol>