in This Code First Display abc Alert And then My Function Call And Display In function Alert WHy..?but In this Code i call my function first so why abc alert display first..?
function GetDefaultChanter(){
db.transaction(function (tx){
tx.executeSql('SELECT Value FROM Setting where Key = "DefaultChanter";',[],querySuccessDefaultChanter);},
errorCB);
}
function querySuccessDefaultChanter(tx,result){
$.each(result.rows,function(index){
var row = result.rows.item(index);
var chantervalue = row["Value"];
alert(chantervalue);
$('#defaultchanterid').val("chantervalue");
});
}
$(document).ready(function (e) {
GetDefaultChanter();
var abc = $('#defaultchanterid').val();
alert(abc);
});
DB transactions in javascript are not blocking. They are executed asynchronously. Since db.transaction
is not complete before alert(abc)
is executed, alert prompt is shown. You need to show alert in success callback as follows
function GetDefaultChanter(){
db.transaction(function (tx){
tx.executeSql('SELECT Value FROM Setting where Key = "DefaultChanter";',[],querySuccessDefaultChanter);},
errorCB);
}
function querySuccessDefaultChanter(tx,result){
$.each(result.rows,function(index){
var row = result.rows.item(index);
var chantervalue = row["Value"];
alert(chantervalue);
$('#defaultchanterid').val("chantervalue");
//alert handled in callback
var abc = $('#defaultchanterid').val();
alert(abc);
}
});
$(document).ready(function (e) {
GetDefaultChanter();
});