未显示单击时更改复选框状态

时间:2015-07-17 14:52:57

标签: javascript checkbox d3.js

复选框状态值存储在localStorage中。 ' updateStorage'将这些键值对设置为' null'在localStorage。

仅在页面重新加载后才能看到效果。如何在调用函数后直接显示复选框状态的更改,例如在切换中?

d3.select("#update").on("click",updateStorage);


function updateStorage(){

var updatethis = d3.selectAll(".box").each(function(){

var use_it = this.id;

localStorage.setItem(use_it,null);
d3.select(this).property('checked', null); //does not change display directly

});
};

添加此行没有帮助

     d3.select(this).property('checked', null);

我需要转换吗?

1 个答案:

答案 0 :(得分:0)

现在我解决了这个问题:

d3.select("#update").on("click",updateStorage);


function updateStorage(){

var updatethis = d3.selectAll(".box").filter(":checked").each(function(){

var use_it = this.id;
console.log("updatethisid :" + use_it);
d3.selectAll('.box').property('checked', false);
localStorage.setItem(use_it,null);


});
};

我不知道为什么我不能选择带有d3.select(this)的方框来达到同样的效果。 - ?

我添加了一个带伪的过滤器:选中以选中仅选中的复选框。