Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

crawler

[Resolvido] Não estou conseguindo atualizar componente tabs do Jq

Recommended Posts

Pessoal, estou precisando de uma ajuda de vocês, pois faz mais de 15 dias que estou precisando fazer funcionar um link de uma pagina para outra, o meu maior problema é que estas duas páginas estão dentro deste componente "tabs ui", que até o momento não encontrei uma maneira de fazer isso funcionar a não ser clicar manualmente em outra aba ou colocando o ponteiro na barra de endereços e apertar enter.

 

O código que realiza a manipulação desse componente

$('.anos').tabs({
                       selected: ano,
                       ajaxOptions: {
                           error: function( xhr, status, index, anchor ) {
                               $( anchor.hash ).html(
                                   "Não foi possível abrir a página requisitada, tente novamente!"
                               );
                               $("#maincontent .loading").animate({'marginTop': '-30px'});
                           },
                           beforeSend: function() {
                               $("#maincontent .loading").animate({'marginTop': '0'});
                           },
                           success: function() {

                               var exercicio = $(".vtabs .ui-tabs-panel").not(".ui-tabs-hide").find(".anos").not(".ui-tabs-hide").find("ul li.ui-tabs-selected a").attr("title");

                               $(".ano-centro").html(" - Exercício de " + exercicio);
                               $(".ano-exercicio").html(exercicio);

                               paginacao( ano );
                               $("#maincontent .loading").animate({'marginTop': '-30px'});
                               $(".ano-centro").html(" - Exercício de " + exercicio);
                               $(".ano-exercicio").html(exercicio);
                               $(".ano-centro").show();

                               $("#maincontent .loading").animate({'marginTop': '-30px'});

                           }
                       },
                       spinner: 'Carregando...',
                       show: function(event, ui) {
                           var hash = window.location.hash; //alert(hash);
                           hash = hash.split('-');


                           var tabhash = ui.tab.hash.replace("#",'');
                           tabhash = tabhash.replace('_à_','_');
                           tabhash = tabhash.replace('#','');

                           $menu.tabs( "option", "selected", Number($.trim(hash)) );

                           var hashpagina = '';

                           if(pagina != 0 && pagina != '1' && trocarPagina) {
                               hashpagina = '-' + pagina;
                           }

                           window.location.hash = hash[0] + '-' + tabhash + hashpagina;
                       },
                       select: function() {                        
                           var hash = window.location.hash;
                           hash = hash.split('-');

                           var tabhash = ui.tab.hash.replace("#",'');
                           tabhash = tabhash.replace('_à_','_');
                           tabhash = tabhash.replace('#','');

                           window.location.hash = hash[0] + '-' + tabhash;
                           trocarPagina = false;
                       }
               });

 

 

Sei que pode parecer muito complexo por parecer esse conteúdo muito avançado, mas eu apenas preciso atualizar esse tabs.

 

A pagina desse componente com o demo e documentação desse componente está aqui

 

se alguém que ler não entender o suficiente para resolver postem o que entenderam dessa situaçao

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara voce tem que atualizar com o load() você não fez isso... Voce apenas tem o link e não carregou.

 

 

Os links tem que partir dessa página:

<br />

<?php if($meses_vazio) {?>

<div class="warning">
 Nenhum mes cadastrado!
</div>

<?php }else{?>

<h5><?php echo $nome;?> <span class="ano-exercicio"></span> - Mensal</h5>

<ul class="meses clearfix">

<?php
foreach($meses as $mes)
{
$href    = substr($mes['href'], 28, 2);

echo '<li class="' . $mes['class'] . '">' .  ((isset($mes['href']) && !empty($mes['href'])) ? ('<a href="#receitas-2011-' . $href . '" >' . $mes['titulo'] . '</a>') : ('<span>' . $mes['titulo'] . '</span>')) . '</li>';
}

?>

</ul>

<?php }?>

 

A parte javascript não foi desenvolvida por mim, essa ultima assim, estou me esforçando muito para aprende Jquery, porem eu pergunto

 

Tenho que fazer uma chamada .load no evento click do li?, por que é isso que eu tenho em mente. Ou modifica o load para que quando clique no mês seja recarregado o tabs?

 

Não tem como simular o click de uma tab para atualiza-lo?

 

Será que eu precisarei alterar o código fonte do plugin para conseguir realizar esse evento?

Compartilhar este post


Link para o post
Compartilhar em outros sites

não conheço forma de simular, eu sei que o $().load(); faz isso, ele carrega o conteudo. Pelo que eu to vendo, você tem que levar esse href para onde a página estiver né? Tem que pensar direito para ver como irá passar o conteudo. E é bem dificil, você esta numa situação esquisita.

Compartilhar este post


Link para o post
Compartilhar em outros sites

não conheço forma de simular, eu sei que o $().load(); faz isso, ele carrega o conteudo. Pelo que eu to vendo, você tem que levar esse href para onde a página estiver né? Tem que pensar direito para ver como irá passar o conteudo. E é bem dificil, você esta numa situação esquisita.

 

Caro amigo Daniel, realmente esse componente serve para alocar conteudo dinamicamente, muito bom, porém é inviável interagir o conteúdo que está dentro das abas com elementos que estão fora dele.

Esse impasse eu resolvi com uma gambiarra conhecida carregando o conteudo que eu quero na div que está dentro dessa guia ficando assim:

 

$('.meses li').live('click', function(){

        var href = $(this).children("a").attr("href");
        href = href.split("-");
        var  mes = href[2];
        var ano = href[1];

      $.ajax({
            type: "GET",
            url: 'http://localhost/contribuinte/santacruz/index.php?route=contaspublicas/contas/ajax&t=receita&e=' + ano + '&p=' + mes,
            success: function(receita){
                $(".anos").html(receita);
            }
       });

});

 

Enfim pra tudo tem um jeito, amém.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.