Как добавить класс JQPlot, чтобы скрыть все линии графика при загрузке страницы? - PullRequest
0 голосов
/ 19 октября 2018

У меня слишком много серий в приложении JQPlot Primefaces, и я хочу загрузить график с уже скрытыми линиями;затем пользователь нажимает на нужную легенду, чтобы отобразить соответствующую строку на диаграмме ( см. этот пример ).

Файл template.xhtml:

<h:body onload="HideSeries()" >
    <!-- [unrelevant code ommited] -->
</h:body>

<script>
    function HideSeries() {
        $('#chartsFormID\\:lineChartID').toggleClass('jqplot-series-hidden');
    }
</script>

Мой файл index.xhtml:

<h:form id="chartsFormID" >
    <p:accordionPanel multiple="false" dynamic="true" cache="true" >
        <p:tab title="myTab title">
            <p:chart type="line" id="lineChartID" model="#{bean.myChart}" />
        </p:tab>
    </p:accordionPanel>
</h:form>

К сожалению, он не работает.

An image for better understanding

Может кто-нибудь, пожалуйста, помогите мне?

Заранее спасибо.

1 Ответ

0 голосов
/ 22 октября 2018

Чтобы добавить класс ко всем элементам, попробуйте это:

$('tr.jqplot-table-legend td').toggleClass('jqplot-series-hidden');

Или вы можете вызвать событие click для всех элементов:

$('tr.jqplot-table-legend td').trigger('click');
...