Ich versuche, den Klick der benutzerdefinierten Schaltfläche in einem Jqgrid zu behandeln. Ich habe die Schaltflächen angezeigt, aber wenn sie angeklickt werden, meine Funktion nicht ausgeführt. Wenn ich auf eine Schaltfläche außerhalb des jqgrid klicke, wird das Skript ausgeführt. Verbraucht jqgrid den Klick auf die Schaltfläche? Ich bin mir nicht sicher, was ich übersehe oder nicht verstehe. Hier ist das Gitter. Der Grund, warum ich nicht das gesamte Raster neu laden ist es zu viel Verarbeitung auf dem Server, und müssen manuell die Zeile auf dem Client zu entfernen, sobald die editurl verarbeitet die "senden". See: $(".sendbuttons").click(function(){
...
<style type="text/css">
.sendbuttons {
height:19px;
width:60px;
color:red;
}
</style>
<script language="javascript">
jQuery(document).ready(function(){
var last_row;
jQuery("#gridlist").jqGrid({
url:'manual_responses.php',
datatype: "json",
colNames:['ID','Image','Keyword','send Found','Proposed send',''],
colModel:[
{name:'item_id', index:'item_id', width:45, editable:false, hidden:true},
{name:'image', index:'image', width:45},
{name:'keyword',index:'keyword', width:100, editable: false},
{name:'item_found',index:'item_found', width:130, editable: false},
{name:'proposed_send',index:'proposed_send', width:130, editable: true, edittype:"textarea", editoptions:{rows:"2",cols:"37"}},
{name:'options',index:'options',width:40,editable: false}
],
rowNum:40,
rowList:[20,40,60],
imgpath: 'css/themes/sand/images',
sortname: 'keyword',
viewrecords: true,
sortorder: "asc",
caption:"Proposed sends",
onSelectRow: function(item_id){
if(item_id && item_id!==last_row){
jQuery("#gridlist").restoreRow(last_row);
jQuery("#gridlist").editRow(item_id,true);
last_row=item_id;
}
},
loadComplete: function(){
//alert('ok, loadComplete running');
var ids = jQuery("#gridlist").getDataIDs();
for(var i=0;i<ids.length;i++){
var cl = ids[i];
send = "<input class='sendbuttons' id='tbuttonSend"+cl+"' type='button' value='Send' /><br />";
clear = "<input class='sendbuttons' id='tbuttonClear"+cl+"' type='button' value='Send' /><br />";
jQuery("#gridlist").setRowData(ids[i],{options:send+clear})
}
},
editurl: "item_send.php",
height:400,
width:796,
reloadAfterSubmit:false
}).navGrid('#pager2',{edit:true,add:false,del:false });
$(".sendbuttons").click(function(){
alert("got to 1");
});
});
</script>
</head>
<body>
<table id="gridlist" class="scroll" cellpadding="0" cellspacing="0"></table>
<div id="pager2" class="scroll" style="text-align:center;"></div>
<input type='button' class='sendbuttons' id='323423x' value='go:'/>
</body>
</html>