easyui datagrid行中点击a标签链接,行被选中,但是获取不到对应的参数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了easyui datagrid行中点击a标签链接,行被选中,但是获取不到对应的参数相关的知识,希望对你有一定的参考价值。

easyui中使用比较多的就是datagrid了,表格中添加连接,点击跳转,为比较常用的方式;往往在点及标签后调用getSeleted方法会失效;
一.初始代码:
{field: ‘id‘,title : ‘操作‘,align: ‘center‘,width:‘10%‘,
    formatter:function(value,row){
       return  "<a onclick=‘show()‘ > 查看 </a>";
    }
},
function show(){
    var select = $(‘#targetTable‘).datagrid("getSelected");
    var selects = $(‘#targetTable‘).datagrid("getSelections");
    /*获取不到正在点击的行*/
}
二.起因分析:
easyui中只有在触发选中行之后调用,getSeleted 和 getSelections 才能取到对应的结果值;先触发a标签方法,还是先触发选择行,
测试代码如下:
{field: ‘id‘,title : ‘操作‘,align: ‘center‘,width:‘10%‘,
    formatter:function(value,row){
       return  "<a onclick=‘show()‘ > 查看 </a>";
    }
},
onClickRow : function(index,data){
    alert(‘clickRow‘);
}
function show(){
    alert("clickA");
}
点击页面按钮后你会发现先调用的show方法,后触发的onClickRow事件,
所以在show方法中想要获取选中的行是不可行的方式;
三.解决方式:
在调用的时候进行值得传递;
在进行a标签拼接的过程中在对应的方法中传入参数;
四.解决代码如下:
{field: ‘id‘,title : ‘操作‘,align: ‘center‘,width:‘10%‘,
    formatter:function(value,row){
       return "<a onclick=\"show(‘"+row.id+"‘)\" > 查看 </a>";
    }
},
function show(id){
     alert(id);
}
五.备注:
因使用easyui不是太多,更多的时候是帮别人解决问题的时候遇到测试的,
以上观点只为个人观点,非最优解决方案,欢迎大神给出更优解决方案,多多交流才有进步;
有新问题请留言,大家一起探讨一起进步;

以上是关于easyui datagrid行中点击a标签链接,行被选中,但是获取不到对应的参数的主要内容,如果未能解决你的问题,请参考以下文章

easyUI取消easyui行点击选中事件,智能通过勾选checkbox才能选中行

用JQuery easyui写的一个datagrid,datagrid上面有"新增","编辑"按钮,点击按钮会弹出dialog对话框

easyui datagrid导出Excel 有啥好的解决方法吗

easyui的datagrid怎么绑定数据库

easyui datagrid 怎么默认列可编辑?

EasyUI DataGrid 编辑单元格