为了账号安全,请及时绑定邮箱和手机立即绑定

jqGrid 如何根据状态数据动态填充选项列表?

jqGrid 如何根据状态数据动态填充选项列表?

慕森王 2023-03-31 09:17:33
我目前正在使用 jQgrid 绘制列表,并且正在通过 Ajax 检索数据。我正在正常取回列表,没有任何问题。我的问题是我必须根据我得到的状态值动态填充选项列表。调用数据的地方:$(function(){    search_provider();    // grid resize    $(window).on('resize.jqGrid', function() {        $("#requestList").jqGrid('setGridWidth', $(".grid-cover").width());    })});function search_provider() {    var queryData = $("#searchList").serialize();    $.ajax({        url : "/v1/point/admin/provider/game_provider_list",        type : "GET",        dataType : "json",        data: queryData,        success : function(result) {            $("#resultLength").text(result.jqgrid_data.length);            if(result.jqgrid_data.length == 0){                noData();            }else{            $('#grid-cover').show();            $('#no-data').hide();            setRequestList(result.jqgrid_data)            }        }    })  }动态填充的地方:{            name : 'approval_status',            index : 'approval_status',            align : 'center',            editable : true,            edittype : 'select',            formatter : 'select',            editoptions : {                value : "0:Unauthorized;1:Approval;2:Hold;3:Denial of approval;4:Reclamation",                dataEvents : [{                    type : 'change',                    fn : function(e) {                        ...                    }                }]            }        }它现在显示所有列表。当值为approval_status'0'时返回"0:Unauthorized;1:Approval;2:Hold;3:Denial of approval"当的值为approval_status'1'时返回"1:Approval;4:Reclamation"当的值为approval_status'2'时返回"1:Approval;2:Hold;3:Denial of approval"当的值为approval_status'3'时返回"1:Approval;2:Hold;3:Denial of approval"我想像上面那样改变。你怎么能解决这个问题?
查看完整描述

1 回答

?
慕斯王

TA贡献1864条经验 获得超2个赞

指定从DB导入的数据变量同名,通过状态值注册条件语句,获取符合条件的DB数据。并绘制一个JQgrid来拟合数据。


MyBatis.xml


select id="list" parameterType="hashmap" resultType="hashmap">

            <choose>

                <when test='approval_status == "0"'>

                                            SELECT

        seq_no AS col1, 

        nick_name AS col2,

        ...

        FROM DB_DB

                <when test='approval_status == "1"'>

                                                                SELECT

         seq_no AS col1, 

         ............

         </choose>

jqgrid.js


function setRequestList(jqgrid_data,status){

    var title = [];

    if(status == '0'){

        title = ['No', 'nick',... ];

    }else if(status == '1'){

        title = ['No', 'name', ... ];

    }

    var colmodel = [];

    $("#requestList").jqGrid("GridUnload");

    jQuery("#requestList").jqGrid({

        data : jqgrid_data,

        datatype : "local",

        height : 'auto',

        colNames : title,

        colModel : [{

            name : 'col1',

            index : 'seq',

            align : 'center',

            sortable : false

        }

        ...


查看完整回答
反对 回复 2023-03-31
  • 1 回答
  • 0 关注
  • 105 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信