ฉันประสบปัญหาในการใช้เหตุการณ์โต้ตอบการปิดสำหรับปลั๊กอิน/วิดเจ็ตตัวเลือกคอลัมน์ของ jqGrid นี่คือสิ่งที่ฉันมี - ฉันเริ่มต้นด้วยการเริ่มต้น jqGrid โดยมีตัวเลือกคอลัมน์แนบอยู่ที่ตอนท้ายเช่นนั้น
ticketsTable = tableWrap.jqGrid({
url: ... ,
datatype: ... ,
...
loadComplete: function(d) {
...
}
})
.navGrid('#ticketsList_footer', {edit:false, add:false, del:false, cloneToTop:true})
.navButtonAdd('#ticketsList_toppager', {
caption: "Columns",
title: "Reorder Columns",
id: "colButton",
onClickButton: function(){ ticketsTable.jqGrid('columnChooser'); }
});
จากนั้นในฟังก์ชัน loadComplete (ด้านบน) ฉันจะค้นหากล่องโต้ตอบและแนบการแจ้งเตือนไปยังเหตุการณ์ที่ปิดอยู่เช่นนั้น
$('#colButton').click(function(e){
setTimeout(function(){
log($( ".ui-dialog" ).length);
$( ".ui-dialog" ).bind( "dialogclose", function(event, ui) {
log('close dialog event captured!');
});
}, 500);
});
ด้วยเหตุผลบางประการ การแจ้งเตือนจะปรากฏขึ้นเมื่อฉันปิดกล่องโต้ตอบโดยใช้ปุ่ม "x" ที่มุมเท่านั้น เมื่อฉันคลิก "ตกลง" หรือ "ยกเลิก" ก็ไม่มีการแจ้งเตือน ฉันพลาดอะไรไป?
BTW เหตุผลที่ฉันทำสิ่งนี้คือฉันต้องอัปเดตขนาดของตาราง (setGridWidth) หลังจากที่กล่องโต้ตอบปิดเพื่อปรับสำหรับคอลัมน์ที่เพิ่มหรือลบออก อาจมีวิธีที่หรูหรากว่านี้ในการทำเช่นนั้น?