2013-02-15 57 views
0

我使用的公益代码:jqGrid的自定义按钮发送POST数据

 jQuery("#rowed2").jqGrid({   
    url:'server.php?q=3', 
    datatype: "json", 
     colNames:['Acc','Id','Ciudad', 'Corporacion','Radicado','Ultima Actuacion','Anotaciones'], 
    colModel:[ 
    {name:'act',index:'act', width:72, sortable:false}, 
    {name:'id',index:'id', width:31}, 
    {name:'ciudadh',index:'ciudadh', width:100, editable:true}, 
    {name:'corporacionh',index:'corporacionh', width:350, align:"right",editable:true,fixed:true }, 
    {name:'radicado',index:'radicado', width:190, align:"right",editable:true},  
    {name:'ultima',index:'ultima', width:160,align:"right",editable:true},  
    {name:'anotaciones',index:'anotaciones', width:200, sortable:false,editable:true} 
    ], 


    rowNum:200, 
    rowList:[10,20,30], 
    imgpath: 'css', 
    pager: jQuery('#prowed2'), 
    sortname: 'actionID', 
viewrecords: true, 

sortorder: "desc", 
height: "100%", 


    loadComplete: function(){ 
    $("tr.jqgrow:odd").addClass('myAltRowClass'); 
      var ids = jQuery("#rowed2").getDataIDs(); 
      for(var i=0;i<ids.length;i++){ 
        var cl = ids[i]; 
        be = "<input style='height:20px;width:70px;' type='button' value='Modificar' onclick=jQuery('#rowed2').editRow("+cl+"); /><br>"; 
        se = "<input style='height:20px;width:70px;' type='button' value='Guardar' onclick=jQuery('#rowed2').saveRow("+cl+"); /><br>"; 
        ce = "<input style='height:20px;width:70px;' type='button' value='Cancelar' onclick=jQuery('#rowed2').restoreRow("+cl+"); />"; 

      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("#rowed2").setRowData(ids[i],{act:be+se+ce,anotaciones:send+clear}) 
      }  






      $(".sendbuttons").click(function(){ 
    alert("got to 1"); 
    }); 



    }, 


    editurl: "server2.php" 
    }); 


    //botonañadir 
    $("#bedata").click(function(){ 
jQuery("#rowed2").jqGrid('editGridRow',"new",{height:380,reloadAfterSubmit:false}); 
}); 

//botonborrar 
$("#bedata2").click(function(){ 
var gr = jQuery("#rowed2").jqGrid('getGridParam','selrow'); 
if(gr != null) jQuery("#rowed2").jqGrid('delGridRow',gr, {reloadAfterSubmit:false}); 
else alert("Antes de hacer clic en este boton seleccione el proceso que desea borrar!"); 
     }); 

    var timeoutHnd; 
    var flAuto = false; 

    function doSearch(ev){ 
if(!flAuto) 
    return; 
    // var elem = ev.target||ev.srcElement; 
if(timeoutHnd) 
    clearTimeout(timeoutHnd) 
timeoutHnd = setTimeout(gridReload,500) 
    } 

     function gridReload(){ 
var nm_mask = jQuery("#item").val(); 
var cd_mask = jQuery("#search_cd").val(); 
jQuery("#rowed2").jqGrid('setGridParam',{url:"server.php? nm_mask="+nm_mask+"&cd_mask="+cd_mask,page:1}).trigger("reloadGrid"); 
    } 
     function enableAutosubmit(state){ 
flAuto = state; 
jQuery("#submitButton").attr("disabled",state); 
    } 

所以我认为这个按钮

 send = "<input class='sendbuttons' id='tbuttonSend"+cl+"' type='button' value='Send' /><br />"; 

可以通过邮寄发送一些数据只是这样的按钮做:

be = "<input style='height:20px;width:70px;' type='button' value='Modificar'  onclick=jQuery('#rowed2').editRow("+cl+"); /><br>"; 
       se = "<input style='height:20px;width:70px;' type='button' value='Guardar' onclick=jQuery('#rowed2').saveRow("+cl+"); /><br>"; 
       ce = "<input style='height:20px;width:70px;' type='button' value='Cancelar' onclick=jQuery('#rowed2').restoreRow("+cl+"); />"; 

例如,我的自定义按钮可以发送和opper与其他参数称为“自定义”。

这可能吗?怎么样?

感谢您的帮助。

UPDATE:

我试图做一个AJAX功能是这样的:

 $(".sendbuttons").click(function(){ 
     $.ajax({ 
     type:'POST', 
     url :'server2.php?id=+ids[i]+&oper=edit1', 
     beforeSend : function(){ 
    $('#mensaje5').show().html('<br><br><h2>Por favor espere....<br><img src="c.gif" width="100" height="100" alt="cargando" border="0">'); 

     }, 
     success: function(){ 
     var nancu = parseInt(ids); 
      alert(mega); 
       ; 

     }, 
     complete: function(){ 
    $('#form_data4').slideUp(); 

       } 

    }); 



      }); 

看来我需要一个伟大的想法,但我有这行的一个问题:

  url :'server2.php?id=+ids[i]+&oper=edit1', 

我想获得按钮行的ID,然后发送这个ID在URL中通过后,但我不知道我怎么能做到这一点。

回答

0

试试这个

更改此send = "<input class='sendbuttons' id='tbuttonSend"+cl+"' type='button' value='Send' /><br />";

send = "<input class='sendbuttons' id='tbuttonSend"+cl+"' onclick='send("+cl+");' type='button' value='Send' /><br />"; 

,并添加了新的功能出来侧Jquery的主要功能

' function send(id)  $.ajax({ 
    type:'POST', 
    url :'server2.php?id='+id+'&oper=edit1', 
    beforeSend : function(){ 
$('#mensaje5').show().html('<br><br><h2>Por favor espere....<br><img src="c.gif" width="100" height="100" alt="cargando" border="0">'); 

    }, 
    success: function(){ 
    var nancu = parseInt(ids); 
     alert(mega); 
      ; 

    }, 
    complete: function(){ 
$('#form_data4').slideUp(); 

      } 

});}' 
+0

是不工作:萤火说:“引发ReferenceError :id未定义“”TypeError:发送不是函数“ – JuanFernandoz 2013-02-16 05:13:32

+0

你必须添加发送函数外边jquery函数和内部脚本标记 – Kris 2013-02-16 05:15:24

+0

nope,不起作用。我做了另一个解决方案:使用这个: \t \t \t \t'$(“#rowed2”)。jqGrid('setSelection',$(this).parents('tr')。attr('id'));这个工作很好,但唯一的问题是**依赖于** selrow ** – JuanFernandoz 2013-02-16 06:45:48