Ir para conteúdo

POWERED BY:

Arquivado

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

GustavoBarbosa

Problemas com requisição Ajax

Recommended Posts

segue o codigo JS

function loadEntidade(categoria) {
					
					$j.ajax({
						type: "GET",
				
						url: "Scripts/loadEntidade.php",
			    		
						data: "estado=" + categoria,
				
						dataType: 'xml',
				
						beforeSend: function() {
							document.getElementById('selEntidade').innerHTML = '<option value="0">Selecione uma entidade</option>';
						},

						success: function(msg) {
							
							if (msg != "") {
								var s = "";
						
								$j(msg).find('buscaEntidade').each(function() {
          							var id = $j(this).find('codigo').text();
								    var nome = $j(this).find('nome').text();
									var a = "";
							alert(nome);
									if (categoria == id)
										a = 'selected="selected"';
																	
									s = s + "<option " + a + " value='" + id + "'>" + nome + "</option>";
								});
								alert(s);
								document.getElementById('selEntidade').innerHTML = 
									document.getElementById('selEntidade').innerHTML + s;
							}	
						}
				    });
			 	}

segue o html

 <label>
                     Estado: 
                   </label>                      
                   <select onChange="loadEntidade(this.value)" id="estado" name="estado" cols="29" rows="5" class="campo_pg_produtos">
                     <option value="">Selecione um estado</option>
                     <option value="AC">Acre</option>
                     <option value="AL">Alagoas</option>
                     <option value="AM">Amazonas</option>
                     <option value="AP">Amapá</option>
                     <option value="BA">Bahia</option>
                     <option value="CE">Ceará</option>
                     <option value="DF">Distrito Federal</option>
                     <option value="ES">Espírito Santo</option>
                     <option value="GO">Goiás</option>
                     <option value="MA">Maranhão</option>
                     <option value="MG">Minas Gerais</option>
                     <option value="MS">Mato Grosso do Sul</option>
                     <option value="MT">Mato Grosso</option>
                     <option value="PA">Pará</option>
                     <option value="PB">Paraíba</option>
                     <option value="PE">Pernambuco</option>
                     <option value="PI">Piauí</option>
                     <option value="PR">Paraná</option>
                     <option value="RJ">Rio de Janeiro</option> 
                     <option value="RN">Rio Grande do Norte</option>
                     <option value="RO">Rondônia</option>
                     <option value="RR">Roraima</option>
                     <option value="RS">Rio Grande do Sul</option>
                     <option value="SC">Santa Catarina</option>
                     <option value="SE">Sergipe</option>
                     <option value="SP">São Paulo</option>
                     <option value="TO">Tocantins</option>                   
                   </select>                         
                                     
                                               
                   	<label>                                    
                      Entidade:                            
                    </label>         
                    <select id="selEntidade" name="entidade" cols="29" rows="5" class="campo_pg_produtos">
                      <option value="0">Selecione uma entidade</option>                      
                    </select>

 

segue xml gerado pela consulta PHP

<?xml version='1.0' encoding='utf-8'?>
	<entidades><buscaEntidade>
          <codigo>43</codigo>
          <nome>ASSOCIAÇAO ATLETICA DOS PORTADORES DE DEFICIENCIA DA PARAIBA - AAPD/PB</nome>
      </buscaEntidade><buscaEntidade>
          <codigo>39</codigo>
          <nome>Associaçao Atletica dos Portadores de Deficiencia da Paraiba AAPD-PB</nome>
      </buscaEntidade><buscaEntidade>
          <codigo>41</codigo>
          <nome>ASSOCIAÇAO DE DEFICIENTES E FAMILIARES - ASDEF</nome>
      </buscaEntidade><buscaEntidade>
          <codigo>36</codigo>
          <nome>Associaçao de Pais e Amigos dos Excepcionais - APAE</nome>
      </buscaEntidade><buscaEntidade>
          <codigo>51</codigo>
          <nome>ASSOCIAÇAO DE PAIS E AMIGOS DOS EXCEPCIONAIS - APAE</nome>
      </buscaEntidade><buscaEntidade>
          <codigo>32</codigo>
          <nome>Associaçao de Surdos de Joao Pessoa - A.S.J.P</nome>
      </buscaEntidade><buscaEntidade>
          <codigo>44</codigo>
          <nome>ASSOCIAÇAO DE SURDOS DE JOAO PESSOA - A.S.J.P.</nome>
      </buscaEntidade><buscaEntidade>
          <codigo>31</codigo>
          <nome>Associaçao Paraibana de Cegos - APACE</nome>
      </buscaEntidade><buscaEntidade>
          <codigo>45</codigo>
          <nome>ASSOCIAÇAO PARAIBANA DE CEGOS - APACE</nome>
      </buscaEntidade><buscaEntidade>
          <codigo>48</codigo>
          <nome>ASSOCIAÇAO PARAIBANA DE DEFICIENTES - ASPADEF</nome>
      </buscaEntidade><buscaEntidade>
          <codigo>42</codigo>
          <nome>FEDERAÇAO PARADESPORTIVA DO ESTADO DA PARAIBA</nome>
      </buscaEntidade><buscaEntidade>
          <codigo>47</codigo>
          <nome>FRATERNIDADE CRISTA DE DOENTES E DEFICIENTES DA PARAIBA - FCD/PB</nome>
      </buscaEntidade><buscaEntidade>
          <codigo>34</codigo>
          <nome>Fraternidade Crista dos Doentes e Deficientes da Paraiba- FCD/PB</nome>
      </buscaEntidade></entidades>

o usuario seleciona o estado o javascript passa os parametos para o script PHP o qual gera o xml e o JS preenche o select com as entidades para o estado escolhido

no firefox funciona, ja no IE não preenche o select da entidade, mas gera o xml que foi de onde tirei o codigo acima...

 

se alguem poder me ajudar quanto ao codigo js..?

Compartilhar este post


Link para o post
Compartilhar em outros sites

o correto era você montar os options.. e não dar innerHTML de uma string HTML...

veja.. aqui:

document.getElementById('selEntidade').innerHTML = 
 = document.getElementById('selEntidade').innerHTML + s;
ficaria melhor, e funcionaria (fiz assim recentemente):

var option = new Array();
					$.each(data, function(i, obj){

						option[i] = document.createElement('option');
						$( option[i] ).attr( {value : obj.id} );
						$( option[i] ).append( obj.nome );

						$("select[name='idEquipamento']").append( option[i] );		
					});
no caso, o meu retorno era um objeto jSON, mas basta aplicar o valor que você leu do XML no atributo value, e no próximo append, que é o texto que vai entre <option> e </option> e depois faz um append de cada option, ainda dentro do loop.

Compartilhar este post


Link para o post
Compartilhar em outros sites

E como você fez ?

Eu disse que você tinha que adaptar para o retorno XML...

Compartilhar este post


Link para o post
Compartilhar em outros sites

var option = new Array();
$.each(data, function(){
   option[i] = document.createElement('option');
   $( option[i] ).attr( {value : id} );
   $( option[i] ).append( nome );

   $("select[name='selEntidade']").append( option[i] );          
});

onde o id e nome são as variaveis que resgatam os valores do xml

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.