Javascript 单击复选框-AngularJs+;从json中删除第一个对象;NodeJs

Javascript 单击复选框-AngularJs+;从json中删除第一个对象;NodeJs,javascript,arrays,angularjs,json,node.js,Javascript,Arrays,Angularjs,Json,Node.js,这是我的JSON对象: [ { field1: 'gsm', field2: 'firstname', field3: 'lastname', field4: 'street', field5: 'city', field6: 'region', field7: 'postcode', field8: 'dob', field9: 'email', field10: '

这是我的JSON对象:

[
   { 
      field1: 'gsm',
      field2: 'firstname',
      field3: 'lastname',
      field4: 'street',
      field5: 'city',
      field6: 'region',
      field7: 'postcode',
      field8: 'dob',
      field9: 'email',
      field10: 'company',
      field11: 'url',
      field12: 'country',
      field13: 'data1',
      field14: 'data2',
      field15: 'data3' 
   },

   { 
      field1: '123456789',
      field2: 'Mohamed',
      field3: 'Sameer',
      field4: 'Salai',
      field5: 'Salai',
      field6: 'Asia',
      field7: '111111',
      field8: '10-10-10',
      field9: 'mohd@if.com',
      field10: 'ifelse',
      field11: 'ifelse',
      field12: 'India',
      field13: 'test',
      field14: 'test',
      field15: 'test' 
   },
   { 
      field1: '123456789',
      field2: 'Hameed',
      field3: 'Basha',
      field4: 'Salai',
      field5: 'Salai',
      field6: 'Asia',
      field7: '600091',
      field8: '10-10-10',
      field9: 'hameed@gmail',
      field10: 'ifelse',
      field11: 'ifelse',
      field12: 'India',
      field13: 'test',
      field14: 'test',
      field15: 'test' 
   }
]
我有一个json对象,在angularjs的帮助下,使用ng repeat函数向客户端显示这个json

我有一个复选框和一个表,我在表中显示这个json数据

如果我单击该复选框,我想从json中删除第一个对象

预期输出:(如果我选中复选框)

如果用户未选中,我希望再次使用json中的第一个对象

我的复选框代码:(Jade)

输入(type='checkbox')

我的用户界面:

试试这个:

var data = [
   { 
      field1: 'gsm',
      field2: 'firstname',
      field3: 'lastname',
      field4: 'street',
      field5: 'city',
      field6: 'region',
      field7: 'postcode',
      field8: 'dob',
      field9: 'email',
      field10: 'company',
      field11: 'url',
      field12: 'country',
      field13: 'data1',
      field14: 'data2',
      field15: 'data3' 
   },

   { 
      field1: '123456789',
      field2: 'Mohamed',
      field3: 'Sameer',
      field4: 'Salai',
      field5: 'Salai',
      field6: 'Asia',
      field7: '111111',
      field8: '10-10-10',
      field9: 'mohd@if.com',
      field10: 'ifelse',
      field11: 'ifelse',
      field12: 'India',
      field13: 'test',
      field14: 'test',
      field15: 'test' 
   },
   { 
      field1: '123456789',
      field2: 'Hameed',
      field3: 'Basha',
      field4: 'Salai',
      field5: 'Salai',
      field6: 'Asia',
      field7: '600091',
      field8: '10-10-10',
      field9: 'hameed@gmail',
      field10: 'ifelse',
      field11: 'ifelse',
      field12: 'India',
      field13: 'test',
      field14: 'test',
      field15: 'test' 
   }
]
然后在控制器中添加函数:

var deletedItem = [];
function onchangeCheckBox(isChecked) {
  if(isChecked && data.length > 0) {
    deletedItem = data.splice(0,1);
  } else if(deletedItem.length > 0 ){
    data.unshift(deletedItem[0]);
    deletedItem = [];
  }
}
当您取消选中复选框时,请执行以下操作:

data.unshift(deletedItem);
deletedItem = {};
试试这个:

var data = [
   { 
      field1: 'gsm',
      field2: 'firstname',
      field3: 'lastname',
      field4: 'street',
      field5: 'city',
      field6: 'region',
      field7: 'postcode',
      field8: 'dob',
      field9: 'email',
      field10: 'company',
      field11: 'url',
      field12: 'country',
      field13: 'data1',
      field14: 'data2',
      field15: 'data3' 
   },

   { 
      field1: '123456789',
      field2: 'Mohamed',
      field3: 'Sameer',
      field4: 'Salai',
      field5: 'Salai',
      field6: 'Asia',
      field7: '111111',
      field8: '10-10-10',
      field9: 'mohd@if.com',
      field10: 'ifelse',
      field11: 'ifelse',
      field12: 'India',
      field13: 'test',
      field14: 'test',
      field15: 'test' 
   },
   { 
      field1: '123456789',
      field2: 'Hameed',
      field3: 'Basha',
      field4: 'Salai',
      field5: 'Salai',
      field6: 'Asia',
      field7: '600091',
      field8: '10-10-10',
      field9: 'hameed@gmail',
      field10: 'ifelse',
      field11: 'ifelse',
      field12: 'India',
      field13: 'test',
      field14: 'test',
      field15: 'test' 
   }
]
然后在控制器中添加函数:

var deletedItem = [];
function onchangeCheckBox(isChecked) {
  if(isChecked && data.length > 0) {
    deletedItem = data.splice(0,1);
  } else if(deletedItem.length > 0 ){
    data.unshift(deletedItem[0]);
    deletedItem = [];
  }
}
当您取消选中复选框时,请执行以下操作:

data.unshift(deletedItem);
deletedItem = {};

这可能对你有帮助

vard=[
{ 
字段1:‘gsm’,
字段2:'名字',
字段3:'姓氏',
字段4:“街道”,
字段5:“城市”,
字段6:'区域',
字段7:'邮政编码',
字段8:‘dob’,
字段9:'电子邮件',
字段10:“公司”,
字段11:“url”,
字段12:“国家”,
字段13:‘数据1’,
字段14:‘数据2’,
字段15:“数据3”
},
{ 
字段1:'123456789',
字段2:“穆罕默德”,
字段3:‘Sameer’,
字段4:“Salai”,
字段5:“Salai”,
字段6:“亚洲”,
字段7:'111111',
字段8:'10-10-10',
字段9:'mohd@if.com',
字段10:'如果其他',
字段11:“如果其他”,
第12栏:“印度”,
字段13:“测试”,
字段14:“测试”,
字段15:“测试”
},
{ 
字段1:'123456789',
字段2:“Hameed”,
字段3:“Basha”,
字段4:“Salai”,
字段5:“Salai”,
字段6:“亚洲”,
字段7:'600091',
字段8:'10-10-10',
字段9:'hameed@gmail',
字段10:'如果其他',
字段11:“如果其他”,
第12栏:“印度”,
字段13:“测试”,
字段14:“测试”,
字段15:“测试”
}
];
var temp={};
var app=angular.module('testApp',[]);
app.controller('testCtrl',函数($scope){
$scope.data=d;
$scope.checkbox\u link=函数(i){
var ele=document.getElementById(“checkbox_id”);
if(ele.checked==true){
如果($scope.data.length>1){
temp=$scope.data[i];
$scope.data.拼接(i,1);
}
}否则{
$scope.data.splice(0,0,角度复制(温度));
}
}
});
表格{
宽度:100%;
边界塌陷:塌陷;
}

跳过第一行
{{temp}}
{{$index+1}}
{{d.field1}}

这可能会对您有所帮助

vard=[
{ 
字段1:‘gsm’,
字段2:'名字',
字段3:'姓氏',
字段4:“街道”,
字段5:“城市”,
字段6:'区域',
字段7:'邮政编码',
字段8:‘dob’,
字段9:'电子邮件',
字段10:“公司”,
字段11:“url”,
字段12:“国家”,
字段13:‘数据1’,
字段14:‘数据2’,
字段15:“数据3”
},
{ 
字段1:'123456789',
字段2:“穆罕默德”,
字段3:‘Sameer’,
字段4:“Salai”,
字段5:“Salai”,
字段6:“亚洲”,
字段7:'111111',
字段8:'10-10-10',
字段9:'mohd@if.com',
字段10:'如果其他',
字段11:“如果其他”,
第12栏:“印度”,
字段13:“测试”,
字段14:“测试”,
字段15:“测试”
},
{ 
字段1:'123456789',
字段2:“Hameed”,
字段3:“Basha”,
字段4:“Salai”,
字段5:“Salai”,
字段6:“亚洲”,
字段7:'600091',
字段8:'10-10-10',
字段9:'hameed@gmail',
字段10:'如果其他',
字段11:“如果其他”,
第12栏:“印度”,
字段13:“测试”,
字段14:“测试”,
字段15:“测试”
}
];
var temp={};
var app=angular.module('testApp',[]);
app.controller('testCtrl',函数($scope){
$scope.data=d;
$scope.checkbox\u link=函数(i){
var ele=document.getElementById(“checkbox_id”);
if(ele.checked==true){
如果($scope.data.length>1){
temp=$scope.data[i];
$scope.data.拼接(i,1);
}
}否则{
$scope.data.splice(0,0,角度复制(温度));
}
}
});
表格{
宽度:100%;
边界塌陷:塌陷;
}

跳过第一行
{{temp}}
{{$index+1}}
{{d.field1}}

addisdisplay=true标志与对象。当您选中复选框时,将其设为false。在客户端使用ng show=“isDisplay”我不想