事件处理程序使jqplot崩溃

时间:2014-05-21 14:20:46

标签: javascript-events jqplot

我按照jqplot官方网页上给出的一个示例来获取事件处理程序。 基本上,我想在勾选复选框时显示不同的系列。

我使用以下事件处理程序:

    $("input.dataSeries-checkbox").attr("checked", false);
$("input.dataSeries-checkbox").change(function(){ 

    plot1.series[1].show = false;
    plot1.series[2].show = false;
    plot1.series[3].show = false;

    if ($('input[name='VSNF']').get(0).checked === true) {
        plot1.series[1].show = true;
    }

    if ($('input[name='ISNF']').get(0).checked === true) {
        plot1.series[2].show = true;
    }

    if ($('input[name='RSNF']').get(0).checked === true) {
        plot1.series[3].show = true;
    }
    plot1.replot();
});
});
确定覆盖层后,整个情节崩溃。我检查了事件处理程序是使脚本崩溃的事情(除了一切都运行良好,我检查了每个括号,括号......在脚本结束之前已经关闭)。 知道是什么让脚本崩溃吗? 注意我还在以下html部分中添加了相关的复选框:

<li><input class="dataSeries-checkbox" type='checkbox' name='USNF'>U Filter</li>
<li><input class="dataSeries-checkbox" type='checkbox' name='BSNF'>B Filter</li>
<li><input class="dataSeries-checkbox" type='checkbox' name='VSNF'>V Filter</li>
<li><input class="dataSeries-checkbox" type='checkbox' name='RSNF'>R Filter</li>
<li><input class="dataSeries-checkbox" type='checkbox' name='ISNF'>I Filter</li>

1 个答案:

答案 0 :(得分:0)

我最终设法通过以更加直接的方式重新构建事件处理程序来摆脱这个问题:

 $("input[type=checkbox][name='VSNF']").change(function(){
    plot1.series[1].show = this.checked;
    plot1.replot();
});

并使用更简单的复选框:

<li><input type='checkbox' name='VSNF'>V Filter</li>

希望这有助于解决类似问题。