2010-02-20 6 views
1

Im assez nouveau pour jquery et Im utilisant jquery tools for tabs. Je veux dans un des onglets pour montrer flexigrid, mais quand j'essaye de faire ceci flexigrid n'apparaît pas, c'est juste vide. Si je configure flexigrid dans une page autonome en dehors de l'onglet, cela fonctionne très bien. Voici le code qui ne fonctionne pas. Encore une fois je suis nouveau alors s'il vous plaît, allez-y doucement!Impossible d'utiliser flexigrid dans JQuery Tools Onglet

<ul class="css-tabs"> 
     <li><a href="#details">Account Details</a></li> 
     <li><a href="#accounts">Sub Accounts</a></li> 
     <li><a href="#groups">Groups</a></li> 
     <li><a href="#support">Tickets</a></li> 
    </ul> 

    <div class="css-panes"> 
     <div>Tab 1</div> 
     <div><table id="flex1" style="display:none"></table></div> 
     <div>Tab 3</div> 
     <div>Tab 4</div> 
    </div> 

    <script> 
$(function() { 
$("ul.css-tabs").tabs("div.css-panes > div").history(); 
}); 

$('.flexme1').flexigrid(); 
$('.flexme2').flexigrid({height:'auto',striped:false}); 

$("#flex1").flexigrid 
(
{ 
url: '/accounts_list.php', 
dataType: 'json', 
colModel : [ 
{display: 'ID', name : 'id', width : 45, sortable : true, align: 'center'}, 
{display: 'Username', name : 'username', width : 120, sortable : true, align: 'left'}, 
{display: 'Display Name', name : 'displayname', width : 150, sortable : true, align: 'left'}, 
{display: 'Limit', name : 'accounts', width : 50, sortable : true, align: 'center'}, 
{display: 'Rate', name : 'charge', width : 50, sortable : true, align: 'center'}, 
{display: 'Subs', name : 'subcount', width : 50, sortable : true, align: 'center'} 
], 
searchitems : [ 
{display: 'ID', name : 'id'}, 
{display: 'Username', name : 'username', isdefault: true}, 
{display: 'Display Name', name : 'displayname'} 
], 
sortname: "id", 
sortorder: "desc", 
usepager: true, 
singleSelect: true, 
title: 'Test', 
useRp: true, 
rp: 20, 
showTableToggleBtn: false, 
width: 500, 
height: 250 
}); 
    </script> 

Répondre

0

Je n'ai trouvé aucun problème en les utilisant tous les deux.

<!-- Here are the tabs --> 
<ul class="css-tabs"> 
    <li><a href="#details">Account Details</a></li> 
    <li><a href="#accounts">Sub Accounts</a></li> 
    <li><a href="#groups">Groups</a></li> 
    <li><a href="#support">Tickets</a></li> 
</ul> 

<!-- Here is the tab's content --> 
<div class="css-tabs"> 
    <div>Tab 1</div> 
    <div><table id="flex1" style="display:none"></table></div> 
    <div>Tab 3</div> 
    <div>Tab 4</div> 
</div> 

<script type="text/javascript"> 
    // On DOM ready, 
    $(function() { 
     // Setup the tabs. 
     $("ul.css-tabs").tabs("div.css-panes > div").history(); 

     //Setup the Table 
     $("#flex1").flexigrid({ 
     // Make sure, you are pointing to the right page. NO 404. 
     url: '/accounts_list.php', 
     dataType: 'json', 
     colModel : [ 
      {display: 'ID', name : 'id', width : 45, sortable : true, align: 'center'}, 
      {display: 'Username', name : 'username', width : 120, sortable : true, align: 'left'}, 
      {display: 'Display Name', name : 'displayname', width : 150, sortable : true, align: 'left'}, 
      {display: 'Limit', name : 'accounts', width : 50, sortable : true, align: 'center'}, 
      {display: 'Rate', name : 'charge', width : 50, sortable : true, align: 'center'}, 
      {display: 'Subs', name : 'subcount', width : 50, sortable : true, align: 'center'} 
     ], 
     searchitems : [ 
      {display: 'ID', name : 'id'}, 
      {display: 'Username', name : 'username', isdefault: true}, 
      {display: 'Display Name', name : 'displayname'} 
     ], 
     sortname: "id", 
     sortorder: "desc", 
     usepager: true, 
     singleSelect: true, 
     title: 'Test', 
     useRp: true, 
     rp: 20, 
     showTableToggleBtn: false, 
     width: 500, 
     height: 250 
     }); 

    // You can setup all the tables you need here. 

    }); 

</script> 
+0

Bonjour et merci pour vos commentaires! J'ai essayé d'enlever les 2 lignes que vous avez mentionnées et je n'ai toujours pas travaillé. Puis enlevé la partie de l'histoire des onglets et n'a toujours pas fonctionné. Juste jouer avec pour une raison quelconque, il semble que le flexigrid ne peut pas voir/trouver l'id de la table qui est à l'intérieur de la div:

Parce que la seconde je bouge à l'extérieur du code de l'onglet il charge très bien partout où je mets la ligne de code ci-dessus. Donc je pensais que peut-être l'onglet jquery ne permettait pas l'accès à l'ID à l'intérieur des conteneurs de l'onglet? Cest là où je suis tombé – John

+0

Cochez la réponse, je l'ai mis à jour. Je n'ai trouvé aucun problème en les utilisant tous les deux. J'ai utilisé jQuery 1.3.2. – guzart