Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在循环的JavaScript对象数组上添加移除按钮_Javascript_Jquery - Fatal编程技术网

在循环的JavaScript对象数组上添加移除按钮

在循环的JavaScript对象数组上添加移除按钮,javascript,jquery,Javascript,Jquery,我有一个JavaScript对象具有以下结构: var spouse = { s_name: { value: spouse_name, label: "Name" }, s_nric: { value: spouse_nric_passport, label: "NRIC/Passport" }, s_dob: { value: spouse_date_of_birth, label: "Date of Birth" }, s_occupation: { value: spou

我有一个JavaScript对象具有以下结构:

var spouse = {
  s_name: { value: spouse_name, label: "Name" },
  s_nric: { value: spouse_nric_passport, label: "NRIC/Passport" },
  s_dob: { value: spouse_date_of_birth, label: "Date of Birth" },
  s_occupation: { value: spouse_occupation, label: "Occupation" },
  s_weight: { value: spouse_weight, label: "Weight" },
  s_height: { value: spouse_height, label: "Height" }
};
我目前正在对其进行如下迭代:

$.each(spouses, function(key, value) {
  console.log(value);
  $.each(value, function(int_key, int_value) {
    console.log(int_key);
    console.log(int_value.value);
    console.log(int_value.label);
    $("#spouse_data").append(
      "<div class='col-sm-4'><label>" +
        int_value.label +
        "</label><input type='text' readonly class='form-control' value=" +
        int_value.value +
        "></div>"
    );
  });
});
$。每个(配偶、函数(键、值){
console.log(值);
$.each(值、函数(int_键、int_值){
控制台日志(int_键);
console.log(int_value.value);
console.log(int_value.label);
$(“#配偶数据”)。追加(
"" +
int_value.label+
""
);
});
});
这样做的目的是将元素放入动态生成的html元素中。但是,我不确定如何放置删除功能。现在,如果我把它放在循环中,结构中的每一行数据都将包含一个remove函数,而不是一个普通的remove函数


如何更改此选项,以便添加常规删除函数?或者有没有更好的方法将此结构打印到屏幕上

您可以尝试以下方法:

var数组=[{
s_name:{value:“配偶姓名”,标签:“姓名”},
s_nric:{值:“配偶_nric_护照”,标签:“nric/护照”},
s_dob:{值:“配偶出生日期”,标签:“出生日期”},
s_职业:{价值:“配偶职业”,标签:“职业”},
s_重量:{值:“配偶重量”,标签:“重量”},
s_高度:{值:“配偶_高度”,标签:“高度”}
},
{
s_name:{value:“配偶名”,标签:“Name2”},
s_nric:{值:“配偶_nric_护照”,标签:“nric/护照2”},
s_dob:{值:“配偶出生日期”,标签:“出生日期2”},
s_职业:{价值:“配偶职业”,标签:“职业2”},
s_重量:{值:“配偶重量”,标签:“重量2”},
s_高度:{值:“配偶_高度”,标签:“高度2”}
}];
$.each(数组,函数(i,配偶){
var classN='父级-'+i;
var removeBtn=“删除”;
$(“#配偶数据”)。追加(“”)
$。每个(配偶、功能(键、值){
$(“+classN).append(“+value.label+”);
});
$(“+classN).append(removeBtn);
});
功能移除(el){
$('.+el).remove();
变量位置=标高拆分('-')[1];
阵列拼接(位置1);
}


所以你想要一个删除按钮,这就是你想要的吗?是的。如果您有更好的方式在html中显示javascript对象,那也很好。您所说的
删除函数而不是一般的删除函数是什么意思。呈现列表时,添加一个复选框并将当前索引设置为its ID。每当选中此复选框时,将调用函数
markforremove
markforremove
基本上将ID添加到数组中,该数组稍后由
remove
方法使用。)希望有意义!很抱歉,如果我添加一个复选框,由于我的循环,大约会添加6个复选框。我该怎么防止呢?那太好了。但我想移除整个结构。此结构将添加到array@JianYA,我知道您想删除单个删除按钮生成的所有内容…..但无法理解
此结构将添加到数组中
…配偶是将添加到数组中的对象。所以一系列的配偶。我无法仅删除配偶对象中的一项。希望这能澄清问题。@JianYA,您可能会看到更新的答案……如果它能帮助您解决问题……谢谢这也会将其从阵列中删除吗?