Jquery Datepicker не отображается при нажатии p: inputText внутри p: tab в простых лицах - PullRequest
0 голосов
/ 04 сентября 2018

Я использую jquery datepicker для простого календаря. Я только что создал p: inputtext и вызываю jquery datepicker для него. Этот указатель даты вызывается, когда я помещаю p: inputtext вне p: tab , но он не отображается, когда я помещаю p: inputtext внутрь p: tab .

JQuery Функция:

<script>
    $(function() {

        $('.calenderType').calendarsPicker();
});
    </script>

1) Ввести текст, на котором нормально работает календарь:

<table>
   <tr>
    <td><p:inputText value="#{gen.appInitDate}" id="appInitDate"
                maxlength="100" onchange="changeEVENT();"
                disabled="#{gen.disableGen}"  class="calenderType">
        </p:inputText>
    </td>
    </tr>
</table>

2) Введите текст, с которым не работает каландр:

    <p:tab titleStyle="font-weight:bold" title="#{lang.gen_info}" id="genInfoTabId"
        titleStyleClass="collapsible" >
    <p:panel id="geninfop" >
    <table>
        <tr>
            <td>
            <p:inputText value="#{gen.appInitDate}" id="id1"
               maxlength="100" onchange="changeEVENT();" 
               disabled="#{gen.disableGen}" class="calenderType">
            </p:inputText>
            </td>
        </tr>
            </table>
        </p:panel>
        </p:tab>

</p:accordionPanel>

В основном в 2) scenerio p: inputtext находится внутри вкладки p:, поэтому любая функция jquery не вызывает его из-за того, что jquery calender не работает. Пожалуйста, предложите какое-то решение для этого.

1 Ответ

0 голосов
/ 05 сентября 2018

Я сделал это, изменив код jquery, как показано ниже:

<script>
    $(function() {
        $('.calenderType').calendarsPicker();
        setInterval(function(){
            $('.calenderType').calendarsPicker();},100);
});
    </script>

Просто вызывал эту функцию каждые 0,1 секунды, и она работает ..

...