JSF Открыть диалог об изменении значения - PullRequest
0 голосов
/ 29 мая 2018

У меня есть несколько просмотров в моем веб-приложении.При каждом просмотре мне нужно проверять наличие «события изменения».Как только значение изменяется (без отправки), я хочу установить логическое значение в моем bean-компоненте true.Это возможно?Есть много входов, так что на каждом компоненте будет раздражать.

Я работаю на сервере Wildyfly и использую Primefaces 6.2, JSF 2.2.

Спасибо и привет!

1 Ответ

0 голосов
/ 31 мая 2018

Я думаю, что это может быть достигнуто с помощью команды jquery + remote, например:

 <script type="text/javascript">
             $(document).ready(function () {
                 $(".ui-input").on('change', function (event) {
                    setBooleanValue()
                 });
             });

         </script>

и затем remoteCommand, который вызовет метод на управляемом бине, отвечающий за установку логического значения:

    <h:form>
       <p:remoteCommand name="setBooleanValue" action="#{myBeann.callMethodToSetBoolean}"/>
    </h:form>

RemoteCommand будет вызываться при каждом изменении ввода (primefaces).

Также, если у вас есть ajax обновлений на странице, вам нужно будет заново зарегистрировать изменение jqueryсобытие на входах после вызова ajax:

<script type="text/javascript">
    $(document).ready(function () {
        $(".ui-input").on('change', function (event) {
            setBooleanValue()
        });
    });

    $(document).on("pfAjaxComplete", function () {
        $(".ui-input").on('change', function (event) {
            setBooleanValue()
        });
    });

</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...