Javascript - cached jquery selectors usados em closures

0 respostas
dreampeppers99

Eu tenho um objeto qualquer que expoem um metodo, mas dentro dele faco chamadas sequidas a um selector, quando fiz cache desse selectors (var selec = $(#selector)) o código não funcionou mais, alguém sabe explicar? (claro voltei para o mesmo estado que funcionava antes)

var NAMESPACE = NAMESPACE || {};
NAMESPACE.objeto  = function() {
 var limpar = function(){
  $("#id").empty();
 };
 var adicionar = function(key,value){
  $("#id").append("<option value='"+key+"'>"+value+"</option>");
 };

 return {
  fill : function(){
                 var idOutraCombo = $("#id_combo").val();
                 $.ajax({
                  type: 'GET',
                  url: '/entidades.json',
                  data: 'entidade='+idOutraCombo,
                  error: function(){
                          limpar();
                          adicionar(-1,"Erro");
                         },
                  success: function(entidades){
                            limpar();
                            adicionar(-1,"Escolha a entidade");
                            for(var i = 0 ; i < entidades.length; i++){
                             adicionar(entidades[i].id,entidades[i].nome);
                            }
                           }
                 });
                }
 }
}();

$(document).ready(function(){
  $("#id_combo").change(NAMESPACE.objeto.fill);
});
Criado 2 de dezembro de 2011
Respostas 0
Participantes 1