将值从Jquery函数传递给JSF ManagedBean

时间:2014-06-24 17:44:38

标签: jquery jsf

我已经使用primefaces的datagrid实现了拖放。它运作良好。 然后我想获得可拖动对象的位置: 我把它包含在我的handleDrop jquery函数中,这样:

function handleDrop(event, ui) {
        var droppedQuery = ui.draggable;
        var p = ui.offset;
        var myvalue = "thisvalue" + p.left;

        $("#form1\\:position").val(myvalue);      }

<p:inputText id="position" value="#{dragQueryMB.changevalue}"   />

问题是每次拖动obrject时都会显示和更新文本,但dragQueryMB ManagedBean中changevalue的值是alawys为null。

谢谢,我在这里进一步解释

1 个答案:

答案 0 :(得分:0)

我发现了什么问题。 实际上,在drop事件上调用了handleDrop。 myvalue的值传递给inputText,更改everyTime我调用handleDrop函数,但所有这些都是客户端。 所以我不得不让事件调用handleDrop函数处理一个请求,以便支持bean响应并且它的属性是最新的。所以我在这里添加了process =“:form1”到与droppable元素相关联的ajax行为 <p:droppable for="report" tolerance="touch" activeStyleClass="ui-state-highlight" datasource="availablequeries" onDrop="handleDrop" dropListener="#{dragQueryMB.dropQuery()}" > <p:ajax listener="#{dragQueryMB.dropQuery}" update="dropArea" process=":form1"/> </p:droppable> 我希望我足够清楚