2011-12-24 46 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