D3使用classed()添加和删除带复选框的类

时间:2017-07-03 19:27:29

标签: javascript d3.js checkbox

我无法使用复选框删除我添加的课程。选中该复选框以开始。当用户取消选中它时,它会添加一个" hideRect"分类的类(' hideRect',true); 这很有效但是当我再次检查这个方框时,课程并没有消失。

这是我的代码:

this.$node.append('input')
    .attr('type', 'checkbox')
    .attr('checked', true)
    .attr('value', 'med')
    .on('click', () => this.updateRectLine());
  }

private updateRectLine() {

  //var rect = this.$node.getElementsByClassName('.MEDICATION');
  var cbMed = this.$node.attr("checked");
  if (cbMed !== true){
      this.$node.selectAll(".MEDICATION").classed('hideRect', true);
  }

  else if (cbMed == true){
      this.$node.selectAll(".MEDICATION").classed('hideRect', false);
  }

}

提前感谢!

1 个答案:

答案 0 :(得分:5)

您需要像这样更新以下功能

$.ajax({
  url: URL_request,
  method: "POST",
  data: { API_KEY: 'ABC123BBQ'}
}).done(callback);

private updateRectLine() { var cbMed = this.$node.select("input[type='checkbox']").prop("checked"); if (!cbMed) this.$node.selectAll(".MEDICATION").classed('hideRect', true); else this.$node.selectAll(".MEDICATION").classed('hideRect', false); } 函数仅返回复选框初始化的值,以检查复选框的检查状态,您希望使用复选框元素上的属性.attr()