如何根据卡片的选择在javascript中推送和弹出细节到数组中?
我有6个引导卡在我的网页上,每一张卡都包含像id和内容这样的细节。当我单击该卡时,该卡的详细信息应推入阵列,当我单击同一张卡时,详细信息应从阵列中弹出。 django中的我的html页面:如何根据卡片的选择在javascript中推送和弹出细节到数组中?,javascript,django-templates,Javascript,Django Templates,我有6个引导卡在我的网页上,每一张卡都包含像id和内容这样的细节。当我单击该卡时,该卡的详细信息应推入阵列,当我单击同一张卡时,详细信息应从阵列中弹出。 django中的我的html页面: {目标%%中j的百分比} {{j.goal} {%endfor%} 我的js代码是 var goal = [] function getGoal(id ,content){ if (goal !== []) { for(var i=0; i<goal.length; i++
{目标%%中j的百分比}
{{j.goal}
{%endfor%}
我的js代码是
var goal = []
function getGoal(id ,content){
if (goal !== []) {
for(var i=0; i<goal.length; i++){
if(goal[i].id == id) {
var index = goal.indexOf(goal[i])
if (index !== -1) {
goal.splice(index, 1);
}
}
}
}else {
var data = {id: id, content: $("#cont_"+id).text()}
var x = JSON.stringify(data)
goal.push(x)
console.log(goal)
}
}
var storedNames = JSON.parse(localStorage.getItem("goal"))
var目标=[]
函数getGoal(id、内容){
如果(目标!=[]){
对于(var i=0;i,正如您在添加缩进后所看到的,html代码无效。在哪里关闭中心标记?在哪里/如何调用getGoal?如果不使用它,为什么有content参数
var goal = []
function getGoal(id ){
if (goal.length > 0) {
let index = goal.findIndex(x=>x.id == id)
if(index != -1){
goal.splice(index, 1);
}
else{
var data = {id: id, content: $("#cont_"+id).text()}
goal.push(data)
}
}else {
var data = {id: id, content: $("#cont_"+id).text()}
//var x = JSON.stringify(data)
goal.push(data)
console.log(goal)
}
}
var storedNames = JSON.parse(localStorage.getItem("goal"))
试试看我正在将卡的详细信息放入数组中代码没有错@Ip177,但是当再次选择同一张卡时,详细信息应该会弹出这就是问题所在我使用了content参数来获取卡的内容,因为卡的详细信息有id和内容代码无效如果不关闭中心标记,则所有下一个标记都是无效的在这种情况下,对于大多数浏览器,都将其视为第一个中心的子中心,因为它们会在文档末尾自动关闭所有未关闭的中心found@Ip177是的,我关闭了中心标记,但也不工作。它不工作。只有第一张卡的详细信息进入阵列,甚至单击其他卡的详细信息也不进入阵列。目标阵列应该像这样的目标=[{id:1,content:“amit”},{id:2,content:“sinha”}]是的,我已经检查并尝试了,即使只有第一张卡片的细节进入了数组,你能提供一个带有反馈数组的工作示例吗?当你调用getGoal方法时,检查一下使用console.log(id)在getGoal中得到了什么id
var goal = []
function getGoal(id ){
if (goal.length > 0) {
let index = goal.findIndex(x=>x.id == id)
if(index != -1){
goal.splice(index, 1);
}
else{
var data = {id: id, content: $("#cont_"+id).text()}
goal.push(data)
}
}else {
var data = {id: id, content: $("#cont_"+id).text()}
//var x = JSON.stringify(data)
goal.push(data)
console.log(goal)
}
}
var storedNames = JSON.parse(localStorage.getItem("goal"))