Javascript 检测jqGrid单元中的复选框事件
在学习Javascript和jQuery的过程中,我正在探索Javascript 检测jqGrid单元中的复选框事件,javascript,jquery,checkbox,jqgrid,jquery-events,Javascript,Jquery,Checkbox,Jqgrid,Jquery Events,在学习Javascript和jQuery的过程中,我正在探索jqGrid,我设法在网格单元格中放置了一个复选框,太棒了 以下是我所拥有的: $("#myTable").jqGrid({ colModel:[ name:'cb', index:'cb', width:40, sorttype:"text", align:"center", edittype:"checkbox", editopt
jqGrid
,我设法在网格单元格中放置了一个复选框,太棒了
以下是我所拥有的:
$("#myTable").jqGrid({
colModel:[
name:'cb', index:'cb', width:40, sorttype:"text", align:"center",
edittype:"checkbox", editoptions:{value:"Yes:No"}, formatter: "checkbox",
formatoptions: {disabled : false}},
other stuff...
]
单击复选框时,如何捕获事件并确定相应的行数据
此外,当我单击复选框时,客户端的基础数据是否已更新(cb字段是否切换为“是”/“否”)?如何实现这一点?首先,您不应该使用'cb'
作为列的名称,因为它是保留列名。另外两个保留列名是'subgrid'
和'rn'
。如果你不想有奇怪的问题,就用别的名字吧
您必须手动将单击
事件绑定到事件处理程序。要做到这一点,你有一些选择
您可以将单击
绑定到加载完成
回调中的所有复选框。查看使用jQuery枚举所有复选框的位置。显示了一种更有效的方法,它使用了
、
和
的DOM支持已经本地实现的行
和单元格
集合这一事实。因此,您可以通过loadComplete
内的this.rows[iRow].cells[iCol]
访问
还有一种方法是使用而不是formatter:'checkbox'
并使用onclick
属性进行绑定
已更新:如果在网格中使用本地数据,则必须手动更新相应的值。例如,见。它描述了如何使用jqGrid的getLocalRow
或data
和\u index
内部参数
要获取用户单击的行的id
,可以使用当前事件$(e.target).closest(“tr.jqgrow”).attr('id')