JavaScript perdendo escopo da Aplicação

Bom dia,

tenho este código javascript (jQuery) para carregar o “combo cidade” com as cidades da uf selecionada, no meu computador quando depuro com o firebug aparece a url perfeitamente e carrega o “combo cidade”. só que no computador do meu amigo não aparece a url corretamente, e da erro 404.

$('#uf').change(function(){
    	$('#cidade option').remove();
    	$('<option>Selecione</option>').appendTo('#cidade');
            var value = $('#uf').val();  
            $.ajax({
                url: '../cidade/'+ value,  
                dataType: 'json',  
                success: function(json) {
                    var cidade = json.list;  
                    for(var i in cidade) {
                        $('<option value="' + cidade[i].codigo + '">' + cidade[i].nomeCidade + '</option>').appendTo('#cidade');
                    }  
                }  
            });   
});

No meu pc, depurando com o firebug a url aparece assim:

GET http://localhost:8080/MinhaAplicacao/cidade/ES 200 OK 3.11s

No computador do meu colega ele “come” o nome da aplicação

GET http://localhost:8080/cidade/ES 404 Not Found 34ms

Alguém sabe com resolver?

Obs.: Este código esta dentro de WebContent > javascripts > custon.js

vc esta utilizando algum framework web que tenha jquery nele?

tenta isto aqui:

var $j = jQuery.noConflict(); // <-isto no topo

//depois
$j(function(){
                $j('#uf').change(function(){  
                         $('#cidade option').remove();  
                        $('<option>Selecione</option>').appendTo('#cidade');  
                         var value = $('#uf').val();    
                 $.ajax({  
                    url: '../cidade/'+ value,    
                    dataType: 'json',    
                    success: function(json) {  
                        var cidade = json.list;    
                        for(var i in cidade) {  
                            $('<option value="' + cidade[i].codigo + '">' + cidade[i].nomeCidade + '</option>').appendTo('#cidade');  
                        }    
                    }    
                });     
    });  

}

só mais uma dúvida, qual é o seu browser e versão? e do seu amigo?

Bom dia rjbcordeiro,

tentei utilizar o jQuery.noConflict() mas também não funcionou. Mas acho que não é conflito, pois no meu pc não acontece este problema.

Estamos utilizando a mesma versão de browser FF 5.0, IE 8 e Chrome 12.0.7…

Importante:

Estamos trabalhando no mesmo projeto utilizando o SubVersion para fazer o controle de versão

dá uma olhada aqui e ve se te ajuda:

http://www.learntechnology.net/content/ajax/jquery_options.jsp

Olá rjbcordeiro

Não é bem isso, o problema é que no computador do meu colega ele perde o nome da aplicação.

Mas eu consegui resolver o problema de uma forma “macarrônica” eu coloquei o código javascript dentro da minha página jsp e utilizei a tag do <c:url>

Ficou assim

<script type="text/javascript">
$(function (){
   $('#uf').change(function(){  
           $('#cidade option').remove();  
           $('<option>Selecione</option>').appendTo('#cidade');  
               var value = $('#uf').val();    
               $.ajax({  
                   url: '<c:url value="/cidade/"/>'+ value,    
                   dataType: 'json',    
                   success: function(json) {  
                       var cidade = json.list;    
                       for(var i in cidade) {  
                           $('<option value="' + cidade[i].codigo + '">' + cidade[i].nomeCidade + '</option>').appendTo('#cidade');  
                       }    
                   }    
               });     
    });
});
</script>

Eu sei que é muito feio programar assim, mas foi minha última alternativa. Se alguém tiver uma solução melhor eu agradeço muito se compartilhar comigo.