关于select2远程加载

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_32601201/article/details/51322935

前台页面:
<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";
    }

猜你喜欢

转载自blog.csdn.net/qq_32601201/article/details/51322935