2012-04-05 5 views
2

チェックボックスの選択に基づいてシリーズを切り替えるシナリオがあります。私のような伝説のオプションでlabelFormattingを使用して、凡例にあるチェックボックスを追加しました:チェックを外すとflotの凡例ラベルチェックボックスが有効になります

 var otherOptions = { 
          legend: { 
            container: legend, 
            labelFormatter: function (label, series) { 
             var cb = '<input type="checkbox" name="' + label + '" checked="checked" id="id' + label + '"> ' + label; 
             return cb; 
            } 
          }, 
         }; 

そして、私がチェックされた項目に基づいて、一連の操作ができるように、私は伝説のクリックイベントを追加しました。凡例のラベルをチェックしないと、それはすべて正常に機能します。再描画すると、凡例からシリーズラインが削除されます。 。だから、元のために、以下の前と後の画像です:

After

お知らせした後

Before

画像 "USA" チェックボックスの後でその不足している。 凡例に未確認の「USA」チェックボックスを表示する方法はありますか?

私はここでの提案を見て:flot graph, use legend to turn on/off series

しかし、唯一の問題は、私は別の伝説とチェックボックスの伝説を持ってしたくないということです。特定のリンクに関する質問は1年以上前に回答されたので、私はチャンスを取って、誰かがこれをやる方法を知っているかどうかを再度質問すると思った。

お知らせください。

ありがとうございます!

答えて

6

チェックボックスがオフの場合は、シリーズをすべて削除する代わりに、空のデータを追加します。このような

何か:

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

// plot call etc... 
} 

の作業フィドルはhereです。

+0

美しく働いた。本当にありがとうMark! – test123

関連する問題