2011-11-28 2 views
0

Comment puis-je déclencher une action commune sur une ligne cliquez sur l'action de la manière flexigrid? Je veux quand la ligne est cliqué pour rediriger vers http://localhost/view/40 (la valeur d'ID) pour la ligne sélectionnéeflexigrid sur la ligne cliquez sur

  $("#flex1").flexigrid({ 
       url: 'http://localhost/index.php/get_data', 
       dataType: 'json', 
       method: 'GET', 
       colModel : [ 
         {display: 'ID', name : 'id', width : 40, sortable : true}, 
         {display: 'A', name : 'a', width : 40, sortable : true}, 
        singleSelect {display: 'B', name : 'b', width : 40, sortable : true}, 
        ], 
       sortname: "id", 
       sortorder: "desc", 
       showTableToggleBtn: false, 
       resizable: false,      
       useRp: true, 
       rp: 30,      
       singleSelect: true, 
       usepager: true, 
       width: 'auto', 
       height: 100 
      }); 

Répondre

2

Je ne sais pas exactement comment fonctionne Flexigrid, mais je l'utilise jqGrid, et souvent ce que je fais est de Il suffit de définir ce type d'actions en dehors de la grille. cela nécessite une convention de dénomination de balisage commune, mais je suppose que flexigrid doit le faire. Ainsi, par exemple, vous pouvez jeter un oeil à votre code HTML dans Firebug et voir quelles classes ou identifiants pourraient être assignés à la colonne pour ID. peut-être une classe comme sa Flexigrid rangée-id ou quelque chose comme ça

$('#flex1 tr[WHATEVER SELECTOR RENDERS IN YOUR GRID FOR THE ID COLUMN]').click(function(){ 
    // simulates similar behavior as an HTTP redirect 
     window.location.replace("http://localhost/view/40"); 
}); 

Assurez-vous que vous attribuez cet événement après votre grille terminée/chargé

-1

Voici comment je le fais ..

je charge la grille

jQuery("#sometable").flexigrid({ 
       url: 'http://localhost/get_data', 
       dataType: 'json', 
       colModel : [ 
        {display: 'id', name : 'id', width : 40, sortable : true, align: 'center', hide: true}, 
        {display: 'name ', name : 'Name', width : 150, sortable : false, align: 'left', hide: false}, 
        {display: 'image', name : 'LogoName', width : 100, sortable : true, align: 'left', hide: false} 
        ], 
        sortname: "id", 
        sortorder: "desc", 
        usepager: true, 
        singleSelect: true, 
        title: 'Some title', 
        useRp: true, 
        rp: 10, 
        width: 1000, 
        nowrap: false, 
        height: 'auto', 
        onSuccess : sometableonSuccess 
      }); 

et quand il charge .. onsuccess déclencheurs ..

function sometableonSuccess(){ 
     jQuery('#sometable tr').each(function(){ 

       jQuery(this).click(function(){ 
         //Get the id of the row 
         var id = jQuery(this).find("td:eq(0)").text(); 
         //Do some action 

       });           


      }); 
    } 
Questions connexes