如何在document.ready中使用功能变量内部值?

时间:2017-03-09 05:19:24

标签: function cordova variables document-ready

在这个变量中输入我的值但是如何在函数外使用这个chanter变量值意味着document.ready ..? 但我的警报给了我undefined所以请帮帮我....? 在函数(querySuccessDefaultChanter)chanter给我值,但我想在searchQolo中传递该值

<script>
var chanter;

    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);
                    chanter = row["Value"];
                });
            }

$(document).ready(function (e) {

GetDefaultChanter();
alert(chanter);
searchQolo(term,type,chanter);      

});

</script>

1 个答案:

答案 0 :(得分:0)

因为document.ready函数在每个其他函数之前执行,所以你总是得到未定义的chanter。一种方法是在querySuccessDefaultChanter函数中分配chanter值后可以调用searchQolo函数。试试这个。

<script>
var chanter;

    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);
               chanter = row["Value"];
         });
         alert(chanter);
         searchQolo(term,type,chanter);
    }

$(document).ready(function (e) {
   GetDefaultChanter();
});

</script>