在我的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