2013-02-15 39 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