2011-12-24 45 views
0

我正在使用jquery插件的struts 2,我正在努力使選擇multi="true"工作。
這是我用來形容標籤代碼:struts 2 jquery插件多選

 <sj:select id="rolePermissions" href="%{permissonAll}" onCompleteTopics="bla" cssClass="multiselect" dataType="json" multiple="true" 
         list="permissions" listValue="name" name="role.permission" 
         listKey="id" /> 

如果我把它的工作原理單一選擇,但沒有辦法,我可以把多選。 我嘗試了一切想到的事情("1,2","[1,2]")和每個可能的分隔符但沒有運氣的組合。

+0

你想用戶選擇多個選項? – 2011-12-24 13:06:46

+0

是的,但我失去了2天,並獲得來源,並開始調試那裏實際正在進行,因爲我可以看到多選的預選未實現 – Zemzela 2011-12-24 13:20:58

回答

1

不知道這是否會工作,但基於這裏的文檔是我們可以嘗試

<sj:select id="rolePermissions" href="%{permissonAll}" onCompleteTopics="bla" 
    cssClass="multiselect" dataType="json" multiple="true" 
    list="permissions" listValue="name" name="role.permission" 
    listKey="id" /> 

我們可以創建一個數組或集合(說列表),我們要預選如果密鑰的一等於將會選擇Collection或Array中的其中一個值。 所以,如果我們要選擇2項說的是誰的12我們需要在動作類來創建一個列表就像

Public class MyAction extends ActionSupport{ 

    private List<String> preSelection; 
    //getter and setter for the preSelection 

    public String execute() throws Exception{ 
     preSelection=new ArrayList<String>(); 
     preSelection.add("1"); 
     preSelection.add("1"); 
     return SUCCESS; 
    } 


} 

鍵,最後標籤應該像

<sj:select id="rolePermissions" href="%{permissonAll}" onCompleteTopics="bla" 
    cssClass="multiselect" dataType="json" multiple="true" 
    list="permissions" listValue="name" name="role.permission" 
    listKey="id" value="%{preSelection}" /> 

自根據文檔:

value ----->預設輸入元素的值。

希望這將幫助你一點

+0

感謝您的幫助,但這似乎並沒有幫助。我將放棄struts2的jquery插件,並使用純jQuery來做到這一點。 – Zemzela 2011-12-24 13:53:39

+0

它不是自動選擇值?或其他任何東西。老實說,我從來不喜歡這種使用Jquery包裝的想法,因爲它本身非常靈活 – 2011-12-24 13:55:35