其他分享
首页 > 其他分享> > Jqgrid可编辑表格实现字段A、B之间联动,change方法实现!

Jqgrid可编辑表格实现字段A、B之间联动,change方法实现!

作者:互联网

1. Jqgrid可编辑表格实现字段联动,输入A字段值,自动填值B字段
在这里插入图片描述
2. 各字段id名
A:a_ratio
B:b_amt
1:c_vol

3. 功能:A、B之间的联动,输入A后,可以取到输入的值和其他列的值经过一系列复杂计算得到B的值,然后塞到B字段

4. 代码实现:

//字段A属性
columnModels.push({name:"a_ratio", width:140, editable:true,sortable:false,formatter:'string',editoptions: {
            dataEvents:[
              {
                 type:'change',
                 fn:function(e){
                    //获取当前输入值
                    var add_ratio = $(this).val();
                    //获取当前rowid行号,第几行
                    var id=$('#GridID').jqGrid('getGridParam','selrow');
                    //获取当前行所有列的值
                    var rowData = $("#GridID").jqGrid("getRowData",id);  
                    //获取同行其他列的值
                    var c_vol=rowData["c_vol"];
                  	//...可以取到1,2,3,4l列的值计算得到一个值a
                  	var a="54";
                  	//将计算的值赋予给字段B
					jQuery('#GridID').setRowData(id, {b_amt:a}); 
                
                 }
              }
            ]
        }});
//字段B属性        
columnModels.push({name:"b_amt", width:60, editable:false,sortable:false,formatter:'string'});

5. 最终显示效果,输入完A后自动显示B
在这里插入图片描述

注意:这里实际上只需要增加我们输入的字段的一个属性editoptions,里面加上了change方法,change方法里取值计算赋值B,一开始思路找jqgrid的事件发现没有类似,百度了一大圈Jqgrid联动都是onselectrow方法还都是粘贴复制一模一样,试了很久还是不行,只能另辟蹊径最终实现了

标签:ratio,Jqgrid,编辑表格,字段,输入,var,id,change
来源: https://blog.csdn.net/m0_53239701/article/details/110631801