Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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
>
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?
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.
>
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.
Hum verdade, voce tem razão. Parabens por achar a solução. Sempre terá alguem para resolver. ahhahah
Cara voce tem que atualizar com o load() você não fez isso... Voce apenas tem o link e não carregou.