JQGrid 动态添加 Select

JQGrid 动态添加 Select 下拉框
在JQGrid 添加下拉框通常是这样做的

, {
                    name : 'week',
                    index : 'week',
                    label : '周',
                    width : 110,
                    editable : true,
                    edittype:'select',
                    editoptions :{value:{0:'周一',1:'周二',2:'周三',3:'周四',4:'周五',5:'周六',6:'周日'}},
                    search : false
                }

在colModel 中 添加一列属性,属性中添加edittype 里面的可选值有text, textarea, select, checkbox, password, button, image and file.我们现在使用的是select 下拉框,然后editoptions 是对于edit时的数据处理以及限制。上面显示的是在jqgrid中直接定义select下拉框的各个值的方式。

而对于从java后台提取数据到表格中,可以类似ajax取数据方式直接在editoptions中添加后台获取数据的地址。
后台代码

        List<Role> roleList = roleService.doQueryAll();
        StringBuilder builder = new StringBuilder();
        builder.append("<select>");
        for (int i = 0; i < roleList.size(); i++) {
            builder.append("<option value='" + roleList.get(i).getRoleKey() + "'>" + roleList.get(i).getRoleValue() + "</option>");
        }
        builder.append("</select>");
        writeJSON(response, builder.toString());

前台代码

{
                        name : 'roleCn',
                        index : 'role',
                        label : '角色',
                        width : 100,
                        editable : true,
                        edittype : "select",
                        //editoptions : {value : "ROLE_ADMIN:超级管理员;ROLE_RESTRICTED_ADMIN:普通管理员;ROLE_USER:普通用户"},
                        editoptions : {
                            dataUrl : "${contextPath}/sys/role/getRoleSelectList"
                        },
                        search : false
                    }

代码简单易懂,通过在editoptions 中添加一条dataUrl ,将代码数据源定向到后面的getRoleSelectList函数中去,将role中所有属性查询出来,将所有名字放进字符串中(此时也往往是对于需要放入下拉框的各种属性的过滤地点),得到所需填入的值以及名称后,自己手写htmlselect代码,最后得到一个完整的字符串格式的html代码,之后只需通过Json传输出去就好啦。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值