Javascript 单击复选框-AngularJs+;从json中删除第一个对象;NodeJs
这是我的JSON对象: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: '
[
{
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”我不想