2012-12-21 41 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 「)); –