Javascript 取消选中时保留flot图例标签复选框

Javascript 取消选中时保留flot图例标签复选框,javascript,jquery,graph,flot,Javascript,Jquery,Graph,Flot,我有一个基于复选框选择切换系列的场景。我已使用图例中的标签格式设置选项将复选框添加到图例中,如: var otherOptions = { legend: { container: legend, labelFormatter: function (label, series) {

我有一个基于复选框选择切换系列的场景。我已使用图例中的标签格式设置选项将复选框添加到图例中,如:

     var otherOptions = {
                           legend: {
                                     container: legend,
                                     labelFormatter: function (label, series) {
                                        var cb = '<input type="checkbox" name="' + label + '" checked="checked" id="id' + label + '"> ' + label;
                                        return cb;
                                     }
                            },
                         };  
var其他选项={
图例:{
容器:图例,
labelFormatter:函数(标签,系列){
var cb=“”+标签;
返回cb;
}
},
};  
我还为图例添加了click事件,这样我就可以根据选中的项目操纵序列。除了我取消选中图例中的标签,在重新绘制时,它也会从图例中删除该系列线之外,所有这些都可以正常工作。例如,下面是前后图像:

之前

之后

请注意,在后图像中缺少“USA”复选框。 有没有办法在图例中显示未选中的“USA”复选框

我在这里看到了这个建议:

但唯一的问题是我不想让图例和复选框图例分开。关于给定链接的问题在一年多前就得到了回答,所以我想我会抓住机会再次问这个问题,以防有人知道这样做的方法

请让我知道


谢谢

如果复选框未选中,则不删除所有序列,而是添加空数据

大概是这样的:

function plotByChoice(doAll)
{
  $('#legend .legendCB').each(
   function(){
     if (this.checked)
     {         
       data.push(datasets[someLabel]);
     }
     else
     {
       data.push({label: someLabel, data: []})
     }        
   }
 );

 // plot call etc...
}  

这把小提琴很灵巧。

演奏得很好。非常感谢你,马克!