JqGrid 添加信息时某字段自动选择器

本文介绍如何在EasyUI中实现自动补全功能,通过设置字段colModel和使用jQuery的autocomplete插件,结合Java服务器端代码,实现输入时自动匹配数据库中的数据供用户选择。

  因为项目中要用到添加信息时,要关联到某字段自动匹配,如果有数据就要显示让用户选择,所以就需要这个功能,找了很多文档,终于搞定。

在页首或css中先设置样式:

<style type="text/css">
         .ui-autocomplete { font-size: 11px; position: absolute; cursor: default;z-index:5000 !important;}      
</style>

在javascript中设置字段的colModel如下:

{
name:'jobStationName',
index:'job_Station_Name', 
width:150,
editable: true,
edittype: "text",
editoptions: {
    size:"20",
    maxlength:"30",
    dataInit: function (element) {
        window.setTimeout(function () {
             $(element).autocomplete({
                  id: 'AutoComplete',
                  source: function(request, response){
                        this.xhr = $.ajax({
                        url: '<%=request.getContextPath()%>/web/stationAutoComplate',//请求地址
                        data: request,
                        dataType: "jsonp",
                        success: function( data ) {
                            response( data );
                        },
                        error: function(model, response, options) {
                            response([]);
                        }
                    });
                },
             autoFocus: true
             });
         }, 100);
   }
}},

java服务器端代码如下:

public String stationAutoComplate(String callback,String term){ //callback为jquery请示时生成的随机串,term为输入框内输入的字符
//处理过程就省略了,反正就是根据term去数据库查数据,然后再转换成如下的JSON格式。
    return callback+"([{label:'label1',value:'value1'},{label:'label2',value:'value2'}])";
}

这是最终结果

最终结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值