2017-04-24 70 views
0

可以拖動primefaces輸入字段或其他人嗎? 在primefaces網站上只有我可以拖動的面板。可能拖動Primefaces輸入字段?

我的代碼如下所示:

的script.js

var xPos; 
var yPos; 

$(document).ready(function() { 

$('#textfeld').draggable({ 
    drag : function() { 
     var offset = $(this).offset(); 

     // Getting the values from the drag item into variables 
     xPos = offset.left; 
     yPos = offset.top; 

     // Setting the text to the drag item 
     // $('#posX').text('x: ' + xPos); 
     // $('#posY').text('y: ' + yPos); 

     document.getElementById('myForm:x').value = xPos; 
     document.getElementById('myForm:y').value = yPos; 

    } 
}); 

}); 

而且我的html代碼:

[...] 

<p:inputText id="textfeld"></p:inputText> 

<h:form id="myForm"> 
    <h:inputHidden value="#{managedBean.x}" id="x" /> 
    <h:inputHidden value="#{managedBean.y}" id="y" /> 
    <p:commandButton value="Execute" actionListener="#{managedBean.speichern}" /> 
</h:form> 

<h:outputScript library="js" name="script.js"></h:outputScript> 

[...] 
+0

那麼這段代碼會發生什麼? javascript錯誤? WW-III?請詳細說明。並檢查你使用的ID是否是正確的(客戶端),我懷疑它是什麼都不是 – Kukeltje

+0

。沒有錯誤 –

+0

所以'$('#textfeld')'確實會返回'inputField'?試過一個'h:inputText'? – Kukeltje

回答

1

我不能重現此。它完美對我的PrimeFaces展示(通過瀏覽器開發人員工具)

$("#j_idt87").draggable({ cancel: null }); 

(通過檢查開發人員工具的真實身份,可能會在某些情況下不同)

+0

嗯......你接受了答案(不會有這樣的預期),但它現在對你有用嗎?或者你有錯誤(考慮到你的其他問題) – Kukeltje

+0

但它可能只是一個'p:inputText'插件沒有加載...嘗試添加例如一個虛擬的'p:tab'或'p:selectOneMenu'或者一個''或者什麼的,但是你**必須得到一個錯誤,那麼 – Kukeltje

+0

它們被加載,請參閱view-source:https://www.primefaces.org/showcase/ui/input/inputText.xhtml https://www.primefaces.org/showcase/javax.faces.resource/jquery/jquery-plugins.js .xhtml?ln = primefaces&v = 6.1-SNAPSHOT –