检查omgird是否有数据,检查omgrid是否有选中行(分页情况、不分页情况)

这篇博客主要介绍如何检查OmGrid数据源是否有数据,以及在分页和不分页情况下,判断OmGrid是否有选中行。通过监听onRowSelect和onRowDeselect事件来维护选中行的序号数组,并在刷新时还原选中状态。同时,提供提交前的验证,确保选中的行处于特定状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

var store_UM = $('#grid').omGrid('getData');//检查数据源是否有数据
        

 if (typeof(store_UM.total) == "undefined")  {
          $.omMessageBox.alert({
                        type:'error',
                        title:'出错',
                        content:'请查询记录'
                    });
                    return false;
                    }

 

//自己写的通过判断omGrid是否存在数据源,来判断(如果存在分页,该方法错误)

var selectedRecords = $('#grid').omGrid('getSelections',true);
          

 if (selectedRecords.length == 0) {
             $.omMessageBox.alert({
                        type:'error',
                        title:'出错',
                        content:'请至少选择一行记录'
                    });                     
                        return false;
                    }

//selectedRecords.length是否为0,来判断是否选择了行记录


//新方法。定义数组

var selectIds = [];//存储选中的序号数组

//grid里面加时间,在数组里记录选中行的行号

,
                    onRowSelect : function(index, data){
                        if($.inArray(data.purPurchasePlanId, selectIds)== -1)
                               selectIds.push(data.purPurchasePlanId);
                    },
                    onRowDeselect : function(index, data){
                        var i = $.inArray(data.purPurchasePlanId, selectIds);
                        selectIds.splice(i,1);
                    },
                    //还原过去选中的记录
                    onRefresh : function(nowpage, records){
                        var len = selectIds.length;
                        var indexs = [], index =-1;
                        for(var i=0; i<len; i++){
                           $.each(records, function(n,item){
                               if(item.purPurchasePlanId === selectIds[i]){
                                         indexs.push(n);
                               }
                           });
                        }
                        
                        $("#grid").omGrid("setSelections", indexs);
                    }

//-----------------提交前---------判断分页GRID是否有选中项------------

if (selectIds.length == 0)
                                {showError("请至少选择一行记录");
                                return false;
                                }

//---------------------提交前要对选中项的某个字段进行验证,需对数据源,选中行记录,进行双循环判断--------------------

for(var i=0;i<selectIds.length;i++){
                    for(var j=0;j<store_UM.total;j++)
                    {
                        if (store_UM.rows[j]["purPurchasePlanId"]== selectIds[i])
                        {
                                 if (store_UM.rows[j]["purchasePlanLineStatus"] != "新建")
                                 {
                                   var lineNO = store_UM.rows[j]["purPurchasePlanId"];
                                showError(lineNO +"行不是新建状态,不能选中确认" );                           
                                   return false;
                                   }
                               }
                       }
                    }

Admin::script( <<<EOT $(document).ready(function() { console.log('Document is ready'); console.log('.plan_id exists:', $('.plan_id').length > 0); console.log('#school-container exists:', $('#school-container').length > 0); setTimeout(function() { $('.plan_id').change(function() { var planId = $(this).val(); $.get("/tools/plan_school",{q : planId}, function (data) { $('#school-container').empty(); var temp = ''; $.each(data, function(index, school) { temp += '<div class="form-group"><label for="name" class="col-sm-4 control-label">'+school.text+'</label><div class="col-sm-6"><div class="input-group"><span class="input-group-addon"><i class="fa fa-pencil fa-fw"></i></span><input type="text" id="school_id" name="school_id_'+school.id+'" value="" class="form-control name" placeholder="输入 编号" /></div></div></div>'; }); $('#school-container').append(temp); }); },1000); }); }); EOT ); 我这段代码在进入面的时候会报错VM4707:13 Uncaught SyntaxError: Invalid or unexpected token at eval (<anonymous>) at n.globalEval (jQuery-2.1.4.min.js:2:2538) at n.fn.init.domManip (jQuery-2.1.4.min.js:3:17225) at n.fn.init.append (jQuery-2.1.4.min.js:3:14908) at HTMLScriptElement.cb (jquery.pjax.js:792:19) at next (jquery.pjax.js:803:12) at executeScriptTags (jquery.pjax.js:805:5) at options.success (jquery.pjax.js:324:5) at j (jQuery-2.1.4.min.js:2:26925) at Object.fireWith [as resolveWith] (jQuery-2.1.4.min.js:2:27738) 重新刷新面以后就可以正常显示控制台能够正确打印Document is ready create:1333 .plan_id exists: true create:1334 #school-container exists: true
最新发布
06-05
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值