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);
});