Autocomplete Struts2仅使用建议值自动完成表单提交

Autocomplete Struts2仅使用建议值自动完成表单提交,autocomplete,struts2,Autocomplete,Struts2,我正在表单中使用struts2 autocomplete。在我通过各种文本框上的自动完成选择所有字段后,我将进行表单提交。现在,我不想允许用户在自动完成文本框中键入随机输入并允许提交。如何解决这个问题 编辑: <form class="form-horizontal" name="createproduct" role="form"> <div class="form-group"> <label for="d

我正在表单中使用struts2 autocomplete。在我通过各种文本框上的自动完成选择所有字段后,我将进行表单提交。现在,我不想允许用户在自动完成文本框中键入随机输入并允许提交。如何解决这个问题

编辑:

<form class="form-horizontal" name="createproduct" role="form">
            <div class="form-group">
                <label for="density" class="col-sm-3 control-label">Select
                    Density</label>
                <div class="col-sm-9">
                    <sj:autocompleter size="30" list="descArray" name="desc"
                        id="density" placeholder="Density" class="form-control"></sj:autocompleter>
                </div>
            </div>
            <div class="form-group">
                <label for="density" class="col-sm-3 control-label">Select
                    Material</label>
                <div class="col-sm-9">
                    <sj:autocompleter size="30" list="matArray" name="mat" id="mat"
                        placeholder="Material" class="form-control"></sj:autocompleter>
                </div>
            </div>
..... //// more form elements go here ...... /////

挑选
密度
挑选
材料
..... //// 这里有更多的表单元素/////
尝试jquery插件。您可以获取所有详细信息并初始化插件,也可以根据需要获取信息

基于输入获取信息

 $("#material").select2({
                 tags: false,
                 minimumInputLength: 1, // Minimum Input length for search request
                 ajax: {
                     url:'actionName',
                     dataType:'json',
                     data:function(params){
                         return{
                             materialSearchTerm: params.term, // search term
                             page: params.page
                         };
                     },
                      processResults: function (data, page) {
                          var jsonResult = JSON.parse(data);
                          return {
                              results: jsonResult.result
                          };
                      }

                 }
            });
actionName应该以JSON的形式返回select输入


例如;-<代码>{result:[{id:0,text:'enhancement'},{id:1,text:'bug'},{id:2,text:'replicate'},{id:3,text:'invalid'},{id:4,text:'wontfix'};}

这取决于您使用的自动完成程序。显示一些代码。顺便说一句,S2 dojo插件已被弃用。我已经添加了一些代码来向您展示正在发生的事情。如果建议使用dojo插件,请您向我推荐最佳方法。