add_tab_content: ajax call
Bonjour,
J'utilise jQuery pour afficher et ajouter dynamiquement des contenus aux tabs via des call Ajax.
Mais j'ai un problème que j'arrive pas à résoudre. :calim2:
Le bouton permettant d'ajouter une tab dynamiquement se trouve dans chacune des tabs (il récupère à chaque fois une var contenue dans la tab). Il fonctionne sur la première tab mais pas sur les autres...
Voici mon code :
htpl/php
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
<div id="tabs">
<ul>
<?php foreach ($myArticles as $key => $article):?>
<li><a href="#tabArticle">Article 1 </a></li>
<?php endforeach;?>
</ul>
<?php foreach ($myArticles as $key => $article):?>
<div id="tabArticle">
//display infos article
//button for adding a tab
<input type="button" id="add_tab" value="Dupliquer " />
<input type="hidden" name="article" id="add_tab_ajax" value="<? php echo 'article/dupliquer'.
'?id='.$article->getId().'&ref='.$article->getRef().'&count=' ?>" />
<?php endforeach;?>
</div> |
jQuery/ajax
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
$(document).ready(function()
{
$( "#tabs" ).tabs(
{
tabTemplate: '<li><a href="#{href}">#{label}</a> ' +
'<span class="closebutton ui-icon ui-icon-close">Remove Tab</span></li>',
add: function( event, ui )
{
var content = getContent( counter );
$( ui.panel ).append( content );
$( "#tabs" ).tabs( "select",'#' + ui.panel.id);
}
});
function addTab()
{
var title = "Article .." ;
$( "#tabs" ).tabs( "add", "#newArticle" + counter, title );
counter++;
}
function getContent(num)
{
var r = $.ajax({
type: 'GET',
url: $("#add_tab_ajax").val()+num,
async: false
}).responseText;
return r;
}
var counter = $( "#tabs" ).tabs("length");
$("#add_tab").click(function(){
addTab();
});
}); |