将我的CheckBox列表值发送给Json

时间:2014-07-16 06:28:16

标签: javascript json angularjs checkbox

我有一个简单而奇怪的问题。 我有一个用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文件中。 我的代码可以多次添加它们。除去它。 我想只添加一次这些美丽。

2 个答案:

答案 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>