jquery DragDrop, вызывающий функцию BackingBean

У меня есть небольшой скрипт для перетаскивания таблицы, и он работает нормально. Но у меня есть проблема: я должен передать start/endPosition моему BackingBean. Есть ли способ вызвать функцию BackingBean из jquery (с параметрами)? Или вы знаете хороший обходной путь?

Код для перетаскивания:

<script type="text/javascript" language="javascript">
$(document).ready(function() {
    var startPosition;
    var endPosition;
    $('#table tbody').sortable({
    cursor: "move",
    start:function(event, ui){
      startPosition = ui.item.prevAll().length;
    },
    update: function(event, ui) {
      endPosition = ui.item.prevAll().length;

      // Call BackingBean function

     }
    });
});
</script>

2 ответа

Решение

BackingBean - это серверная сторона, что вы могли бы сделать - вызвать функцию javascript в своем коде бэк-бина и, конечно, изменить свою функцию, чтобы она возвращала как начальную, так и конечную позицию.

Вы можете иметь два скрытых поля ввода на своей странице HTML, как

  <h:inputHidden id="input1" value="#{bean.startPosition}" /> // getters and setters for startPosition in your bean
  <h:inputHidden id="input2" value="#{bean.endPosition}" /> 

и установите значения, которые вы получаете из вышеупомянутого скрипта Jquery, в эти поля

   document.getElementById('form:input1').value=startPosition;
   document.getElementById('form:input2').value=endPosition;

и получить их в зернах. Это должно делать вашу работу.

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