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;
и получить их в зернах. Это должно делать вашу работу.