Flot:如何使用onchange而不是onclick(复选框)来关闭序列?

Flot:如何使用onchange而不是onclick(复选框)来关闭序列?,flot,Flot,我知道可以使用图例打开/关闭flot系列,如第页所示 在该示例中,更改似乎是单击事件的结果 当使用onchange事件时,我试图让它也起作用 如果我(添加然后)单击此按钮 …复选框被禁用,但图形没有被重新绘制 我尝试通过两种方式解决此问题: 我添加了plotAccountingTochoices()到按钮的一次点击,然后 我更改了选项container.find(“input”)。单击(PlotingAccordochoices)代码:尝试使用更改而不是单击 这不管用。有什么想法吗?这是一个非

我知道可以使用图例打开/关闭flot系列,如第页所示

在该示例中,更改似乎是单击事件的结果

当使用
onchange
事件时,我试图让它也起作用

如果我(添加然后)单击此按钮

…复选框被禁用,但图形没有被重新绘制

我尝试通过两种方式解决此问题:

  • 我添加了
    plotAccountingTochoices()
    到按钮的
    一次点击
    ,然后
  • 我更改了
    选项container.find(“input”)。单击(PlotingAccordochoices)代码:尝试使用
    更改
    而不是
    单击

  • 这不管用。有什么想法吗?

    这是一个非常棘手的问题,据我所知(我知道的不多),从按钮更改复选框不会触发其更改事件,但由于您使用的是函数,您可以只更改属性,然后触发重绘函数。我还将.click()更改为.change(),只是为了达到以下效果:

    在Flot代码中,我向每个元素添加了一个类,并将该类设置为具有更改事件:

    choiceContainer.append('<br/><input type="checkbox" name="'
     + key+'" checked="checked" id="id' + key + '" class="legend">' +
     '<label for="id' + key + '">' + val.label + '</label>');
    $(".legend").change(plotAccordingToChoices);
    
    编辑: 您可以使用.trigger('change')触发更改事件

        $("#clicker").click( function(){
        if($("#idusa").is(":checked"))
            $("#idusa").attr('checked', false);
        else
            $("#idusa").attr('checked',true)
        $("#idusa").trigger('change');
        });
    
    最后,我将按钮更改为一个按钮:

    <button id="clicker">Disable USA</button> 
    
    禁用美国
    
    如果需要,您可以稍微修改一下,并为每个复选框设置一个按钮。 我希望这对你有用

    <button id="clicker">Disable USA</button>