Galera, estou tendo uma dificuldade em trabalhar com o Javascript quando preciso usar o "return" no final de uma função para retornar algum valor...
Por exemplo, preciso retornar o ID de um logradouro porém quando clico no botão salvar e chamo a minha função e dou um alert para ver o resultado ele diz "undefined", porém no Debug que eu fiz o valor está vindo corretamente.
Para entender melhor está assim meu codigo..
Função logradouro:
var Logradouro = { //variaveis logradouro_id : '', tipo_logradouro_id : '', logradouro : '', loadLogradouro: function(input,form,seletorOrigem,seletor,selected){ var text = input; if(text === '') { $$("#"+form+" #"+seletor).html(""); } else { _db.transaction(function (tx){ tx.executeSql("select * from logradouro where logradouro like '"+text+"%' limit 5",[], function (tx,res){ //console.log(JSON.stringify(res)); var dataset = res.rows; var str = ""; for(var i=0; i < dataset.length; i++){ var obj = dataset.item(i); str += '<option value="'+obj.LOGRADOURO+'">'; } $$("#"+form+" #"+seletor).html(str); $$("#"+form+" #"+seletorOrigem).addClass('focus-state active-state'); },function(t,e){ Funcoes.alerta('Error: '+e.message,'Aviso'); }); }); } }, getId: function(){ _db.transaction(function (tx){ tx.executeSql("select * from logradouro where logradouro like '"+Logradouro.logradouro+"%' limit 1",[], function (tx,res){ var dataset = res.rows; var obj = dataset.item(0); console.log(JSON.stringify(obj.LOGRADOURO_ID)); return obj.LOGRADOURO_ID; },function(t,e){ Funcoes.alerta('Error: '+e.message,'Aviso'); }); }); }, salvarNovo: function(){ _db.transaction(function (tx){ tx.executeSql("select max(logradouro_id) as CODIGO from logradouro",[], function (ts,res){ var dataset = res.rows; var obj = dataset.item(0); var codigoId = (parseInt(obj.CODIGO) + 1); var query = "insert into logradouro "+ "(logradouro_id, tipo_logradouro_id, ) "+ "values ('"+codigoId+"','33','"+Logradouro.logradouro+"',)"; ts.executeSql(query, [], function (ts,res){ return codigoId; }, function (t,e){ Funcoes.alerta('Error: '+e.message,'Aviso'); }); },function (t,e){ Funcoes.alerta('Error: '+e.message,'Aviso'); }); }); } };
Quando eu clico no botão salvar eu faço isto aqui:
var Ficha= { salvarDados: function(){ //recebendo variaveis Logradouro.logradouro = $$("#ficha #logradouro").val(); var teste = Logradouro.getId(); alert(teste); } };