首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jqGrid如何根据状态数据动态填充选项列表?

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

Stack Overflow用户
提问于 2019-07-16 08:18:09
回答 1查看 41关注 0票数 0

我目前正在使用jQgrid绘制一个列表,并通过Ajax检索数据。我正常的把名单拿回来,没什么不对的。

我的问题是,我必须根据我要获得的状态值动态填充选项的列表。

--调用数据的地方:

代码语言:javascript
复制
$(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)
            }
        }
    })  
}

一个需要动态填充的地方:

代码语言:javascript
复制
{
            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"

我想要像上面一样被改变。你怎么能解决这个问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-24 06:39:04

指定从DB导入的数据变量的相同名称,并通过status值注册条件语句,以获得与条件匹配的DB数据。并绘制一个符合数据的JQgrid

MyBatis.xml

代码语言:javascript
复制
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

代码语言:javascript
复制
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
        }
        ...
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57052916

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档