【问题标题】:Autocomplete DropDownChoice [duplicate]自动完成 DropDownChoice [重复]
【发布时间】:2018-11-22 14:52:31
【问题描述】:

我正在寻找最简单的方法来将自动完成应用于带有名称列表的 wicket 8 下拉选项。

我只是想要一个提示..

List<User> list = getUsers();

final DropDownChoice<User> dropdown = new DropDownChoice<User>("dropdown",
                new PropertyModel<User>(this, "selected"), list, renderer) { //code };

【问题讨论】:

    标签: java autocomplete wicket dropdownchoice


    【解决方案1】:

    我正在使用这段代码,但我不确定它是否运行良好..

    dropdown.add(new AutoCompleteBehavior(new StringAutoCompleteRenderer()){
                    /**
                     * 
                     */
                    private static final long serialVersionUID = 1L;
    
                    @Override
                    protected Iterator getChoices(String input) {
                        List<String> completions = new ArrayList();
                        Iterator iter = list.iterator();
                        while(iter.hasNext()){
                            String user  = ((User) iter.next()).getAddress();
                            if(user.startsWith(input)){
                                completions.add(user);
                            }
                        }                   
                        return completions.iterator();
                    }               
                });
    

    【讨论】:

      【解决方案2】:

      DropDownChoice 组件生成纯 HTML &lt;select&gt; 元素。

      您的选择是:

      1. 使用将纯 HTML Select 元素转换为自动完成器的 JavaScript 库,例如 Select2.jsChosen.js 和类似的。您可以使用WicketStuff-Select2 或手动使用$.select2('#yourSelectId')
      2. 使用 Wicket-Extensions AutoCompleteTextField 而不是 DropDownChoice

      【讨论】:

        猜你喜欢
        • 2014-05-23
        • 1970-01-01
        • 1970-01-01
        • 2021-09-11
        • 1970-01-01
        • 1970-01-01
        • 2011-05-02
        • 2017-08-10
        • 2017-04-19
        相关资源
        最近更新 更多