Скрипт jQuery не скрывает столбцы в таблице данных Primefaces

У меня есть данные Primefaces с 3 столбцами: голосование3, голосование2 и голосование1, каждый столбец содержит кнопку, при загрузке страницы виден только столбец голосования 3, я хочу, чтобы при нажатии кнопки в столбце голосование3 столбец исчезал и появляется столбец vote2, затем то же самое со столбцами vote2 и vote1, я написал для этого сценарий jquery, результат: при загрузке страницы виден только столбец Голосование 3, но когда я нажимаю кнопку vote3, столбец не не исчезнет, ​​и столбец vote2 не появится. моя таблица данных

<h:form id = "form">
        <p:dataTable value = "#{projectsMB.projects}" var = "p" border = "1">
            <p:column>
                <f:facet name = "header">
                    <h:outputText value = "id" />
                </f:facet>
                <h:outputText value = "#{p.id}" />
            </p:column>
            <p:column>
                <f:facet name = "header">
                    <h:outputText value = "NAME" />
                </f:facet>
                <h:outputText value = "#{p.name}" />
            </p:column>

            <p:column>
                <f:facet name = "header">
                    <h:outputText value = "GOAL" />
                </f:facet>
                <h:outputText value = "#{p.objective}" />
            </p:column>

            <p:column>
                <f:facet name = "header">
                    <h:outputText value = "DESCRIPTION" />
                </f:facet>
                <h:outputText value = "#{p.description}" />
            </p:column>

            <p:column>
                <f:facet name = "header">
                    <h:outputText value = "ACTION" />
                </f:facet>
                <h:commandButton actionListener = "#{projectsMB.delete(p)}" value = "del" />

            </p:column>
    <p:column id = "vote3">
                <f:facet name = "header">
                    <h:outputText value = "Vote" />
                </f:facet>
                                <p:commandButton actionListener = "#{projectsMB.vote3()}" value = "3 points"  icon = "ui-icon-search" styleClass = "voteButton" >
                        <f:setPropertyActionListener value = "#{p}" target = "#{projectsMB.project}" />
               </p:commandButton> 
            </p:column>     

                <p:column id = "vote2" style = "display:none">
                <f:facet name = "header">
                    <h:outputText value = "Vote" />
                </f:facet>
                                <p:commandButton actionListener = "#{projectsMB.vote2()}" value = "2 points"  icon = "ui-icon-search" styleClass = "voteButton" >
                                        <f:setPropertyActionListener value = "#{p}" target = "#{projectsMB.project}" />
                </p:commandButton>
            </p:column>     

                        <p:column id = "vote1" style = "display:none">
                <f:facet name = "header">
                    <h:outputText value = "Vote" />
                </f:facet>
                                <p:commandButton actionListener = "#{projectsMB.vote1()}" value = "1 point"  icon = "ui-icon-search" styleClass = "voteButton" >
                                        <f:setPropertyActionListener value = "#{p}" target = "#{projectsMB.project}" />
                </p:commandButton>
            </p:column> 
        </p:dataTable>
        <h:commandButton actionListener = "#{projectsMB.doNew()}" value = "new" />
    </h:form>

мой сценарий

<h:head>
            <script>

            $(function() {
var  c=0;
                $(".voteButton").click(function () {
if (c==0)
                    {$("#vote3").hide( );
                    $("#vote2").show();
                    c++;
                    }
if (c==1)
{$("#vote2").hide( );
$("#vote1").show();
c++;
}               });});

            </script>
        </h:head>

Читайте на Понимание делегирования событий

charlietfl 06.05.2018 14:31

Также обратите внимание, что вы не можете дублировать идентификаторы на странице. Они уникальны по определению

charlietfl 06.05.2018 14:32
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
2
24
0

Другие вопросы по теме