Ir para conteúdo

POWERED BY:

Arquivado

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

EuToComProblema!

Ajax + select

Recommended Posts

Bom dia pessoal.

 

Eu tenho um select de cidades que carrega estas por ajax dependendo do estado selecionado. Tudo funciona perfeito salvo um pequeno detalhe que pode fazer com que alguns usuários não consigam selecionar a cidade.

 

Logo que escolhe um estado, se clicar na cidade aparece "Carregando..." Se deixar a dropdown listando, ao terminar a requisição ajax somente o primeiro registro aparece, para listar todos os outros é necessário fechar a listagem e abrir novamente. (clicando na seta do combobox)

 

Alguém sabe alguma forma para eu corrigir isso? Nem que seja forçar o clique do <select> de forma que ele feche e abra novamente.

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

como é o teu retorno do ajax ?

 

por exemplo, aqui eu formo o segundo combo, com base num jSON.. e esse problema que você citou, não ocorre.

http://forum.imasters.com.br/index.php?/topic/365795-combos-dependentes-ajax-jquery/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deve ser problema com a ext então... estou procurando se não existe nenhum método repaint ou algo semelhante mas ainda não encontrei...

 

function popula_select(combo_pai,combo_filho,uri_dados_filho) {
	var pai = Ext.ComponentMgr.get(combo_pai);

	var store = Ext.ComponentMgr.get(combo_filho).getStore();
	store.removeAll();

	if (pai == undefined) { //radio button pai
		$(combo_pai).change(function(){
			$.getJSON(
				uri_dados_filho+'/'+$(this).val(),
				function(data) {
					store.removeAll();
					for (var id in data) {
						store.insert(id, new Ext.data.Record({value: id, text: data[id]}));
					}
				}
			);
		})
	} else {
		pai.addListener('select',function(combo,data){
			$.getJSON(
				uri_dados_filho+'/'+this.value,
				function(data) {
					store.removeAll();
					for (var id in data) {
						store.insert(id, new Ext.data.Record({value: id, text: data[id]}));
					}
				}
			);
		});
	}
}

Obrigado pelo rápido retorno, e se souber de alguma coisa que eu possa fazer... Vou continuar na API da ext enquanto isso.

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.