在我的JQGrid中,我有复选框的列和下拉下拉通过编辑类型创建:'选择'和复选框通过“自定义格式化程序”创建像这样edittype:'复选框',formatter:returnCheckBox,我想写我自己的“onChange”事件。如何实现我自己的“onCellClick”事件处理程序
因此,我已经能够写入我的“onchange”事件复选框,它工作正常,但是当我点击复选框单元格中的其他位置(而不是复选框),然后再次点击复选框时,它会停止发射“onchange”事件。我认为行选择它导致如何阻止它的问题。
下面是我在做什么
$("#theGrid").jqGrid({
datatype: 'local',
sortname: 'value1',
sortorder: 'desc',
cellsubmit: 'clientArray',
editurl: 'clientArray',
cellEdit: true,
colNames: ['SName', 'SType', 'DName', 'DType', 'Nullable'],
colModel: [
{ name: 'SName', index: 'SName', width: 100 },
{ name: 'SType', index: 'Type', width: 100 },
{
name: 'DName',
index: 'DName',
width: 100,
editable: true,
edittype: 'select',
editoptions: { value: "1:ID;2:Name" },
},
{
name: 'DType',
index: 'DType',
width: 100,
editable: true,
edittype: 'select',
editoptions: { value: "1:BigInt;2:VarChar(50)" }
},
{
name: 'Nullable',
index: 'Nullable',
width: 100,
editable: true,
edittype: 'checkbox',
//formatter: "checkbox",
formatter: checkedStateChange,
sortable: false,
formatoptions: {disabled : false},
}
]
});
var gridData = [
{ SName: 'ID', SType: 'BigInt', DName: 'ID', DType: 'BigInt' },
{ SName: 'Name', SType: 'VarChar(50)', DName: 'Name', DType: 'VarChar(50)' },
];
for (var i = 0; i < gridData.length; i++) {
$("#theGrid").jqGrid('addRowData', gridData[i].value0, gridData[i]);
}
function checkedStateChange(cellvalue, options, rowObject) {
return '<input type="checkbox" class="gridCheckBox"/>';
}
$('.gridCheckBox').on('change',function(){
alert('I am in checkBoxChange method');
});
您继续忽略您对上一个问题的评论,并继续发布不明确的问题。你应该开始[]接受(“接受”](http://meta.stackexchange.com/a/5235/147495)回答你的旧问题,并写下*你的评论*作为对你的问题的评论的回答。关于您当前的问题:您应该更好地发布显示您所做的事情的JavaScript代码,而不是仅描述您所做的事情。 – Oleg
@Oleg我编辑了我的问题并添加了我的代码。希望现在你可以指导我。 – ozil