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

easyui中使用比较多的就是datagrid了,表格中添加连接,点击跳转,为比较常用的方式;往往在点及标签后调用getSeleted方法会失效;
一.初始代码:
{field:  'id' ,title :  '操作' ,align:  'center' ,width: '10%' ,
    formatter: function (value,row){
        return    "<a οnclick='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 οnclick='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 οnclick=\"show('" +row.id+ "')\" > 查看 </a>" ;
    }
},
function  show(id){
     alert(id);
}
五.备注:
因使用easyui不是太多,更多的时候是帮别人解决问题的时候遇到测试的,
以上观点只为个人观点,非最优解决方案,欢迎大神给出更优解决方案,多多交流才有进步;
有新问题请留言,大家一起探讨一起进步;
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值