2012-12-21 49 views
0

我正在使用titanium.There中的函数返回数组中有两个条目显示警报,但是当我访问另一个js文件中的返回值时,它只显示一个值警报 这里是我的代码(这是在db.js):阵列没有正确返回(钛)

function quizfun() { 
    var dataArray=new Array(); 
    var quizes = db.execute('select * from Quiz'); 
    while (quizes.isValidRow()) { 
     var counter = 0; 
     dataArray[counter] = quizes.fieldByName('Quiz_Text'); 
     quizes.next(); 
     alert(dataArray[counter]);//Showing two values 
     counter++; 
    }; 
    return dataArray; 
} 

这里是我的其他js文件:

quizes = db.quizfun(); 
    alert(quizes[0]);//working 
    alert(quizes[1]);//alert not showing anything 

你能告诉我什么,我提前做

wrong.Thanks

回答

1

var counter = 0;应该在while循环之外。像

function quizfun() { 
    var dataArray=new Array(); 
    var quizes = db.execute('select * from Quiz'); 
    var counter = 0; 
    while (quizes.isValidRow()) { 
     dataArray[counter] = quizes.fieldByName('Quiz_Text'); 
     quizes.next(); 
     alert(dataArray[counter]);//Showing two values 
     counter++; 
    }; 
    return dataArray; 
} 
+0

完美的答案只是给我的理由,这样我就能避免下一次 –

+0

或者你可以摆脱柜台,并采取阵列的“推”的方法的优点:dataArray.push(quizes.fieldByName('Quiz_Test “)); –