2011-08-04 3 views
0

Je vais afficher le Flexigrid en tag div html quand on clique sur un bouton. La fonction pour Flexigrid serait dans la fonction Javascript. donc j'ajoute une balise d'image avec onclick pour appeler une fonction qui s'appelle f_reload() qui va charger la fonction flexigrid. Première fois c'est chargé. par la deuxième fois, cliquez sur le faire de nouveau charger la grille. Aidez-moi, s'il vous plaît.Charger div quand clique sur un bouton

 <script type="text/javascript"> 

     function loadFlexiGrid(){ 
       //here flexigrid content 
        $("#flex1").flexigrid{{ 
         //...........}} 
     } 

     function eventhandler() { 
       $("#flex").html(function() { //this function used to reload grid but it is not called when click second time on the button 
      return "<div id='flex1'></div>";}); 

     javascript:loadGrid(); 
     } 
    </script> 

<input type="image" class="btn" id="sub" src="<?=base_url();?>images/rbtnsave.gif"   
            onclick="eventhandler();"/> 
    <div id="flex"><div id="flex1"></div></div> 
    </div> 

ici id Flex1 du flecigrid et flex est l'id du div.

Lorsque vous cliquez pour la première fois sur le bouton, il affiche la grille. mais la deuxième fois, ce ne pas pourquoi

Répondre

1

Lorsque la eventHandler est exécutée, la fonction imbriquée dans $('#flex').html() est déclarée, mais pas exécuté. Y a-t-il une raison particulière pour laquelle vous l'avez mise là?

Sinon, essayez de le remplacer par:

function eventhandler() 
    { 
     $("#flex").html("<div id='flex1'></div>"); 
     javascript:loadGrid(); 
    } 

La première fois que cela fonctionne très bien, puisque vous avez mis <div id="flex1"></div> manuellement dans votre code HTML. En outre, êtes-vous sûr que javascript:loadGrid() est correct? Essayez de supprimer la pièce javascript:. Et - si référence à function loadFlexiGrid(), appelez-le loadFlexiGrid();, pas loadGrid();.

+0

Ya je mis manuellement la div avec id = "flex1" .i juste enlevé le div et appelle un loadFlexGrid(); Fonction sans préfixe Javascript finalement cela fonctionne bien. merci @Pellen ten Cate – Srini

0

utilisez la fonction click() ..

$("#flex").click(function() 
Questions connexes