前台页面:
<div class="col-lg-9" id="cndiv" style="display:none;">
<input type="text" id="companyName" name="companyName" maxlength="32" style="width:280px;float:left;" class="form-control">
<span style="color:red;font-size:14px;float: right;margin-top:5px;"></span>
</div>
js:
<script type="text/javascript">
$(document).ready(function () {
$('#companyId').select2({
ajax: {
url: "${dynamicDomain}/home/register/company",
dataType: 'json',
delay: 250,
data: function (params) {
return {
companyName: params.term, // search term
page: params.page
};
},
processResults: function (data, params) {
params.page = params.page || 1;
return {
results: data.companies,
pagination: {
more: (params.page * 30) < data.total_count
}
};
},
cache: true
},
escapeMarkup: function (markup) { return markup; }, // let our custom formatter work
minimumInputLength: 2
});
</script>
后台处理:
/**
* 链接到注册页面
*/
@RequestMapping("/company")
public String company(HttpServletRequest request, ModelMap modelMap, String companyName) {
if (StringUtils.isNotBlank(companyName) && companyName.length() >= 2) {
List<Company> companies = companyManager.searchCompany(LocaleUtils.getLocale(request).getLanguage(), "%" + companyName + "%");
I18NUtils.transform(companies, request);
List<Option> options = new ArrayList<Option>();
for(Company company : companies){
Option option = new Option();
option.setId(company.getObjectId().toString());
option.setText(company.getNameZh());
options.add(option);
}
modelMap.addAttribute("companies", options);
return "jsonView";
}
modelMap.addAttribute("companies", new ArrayList<Option>(0));
return "jsonView";
}