2016-06-09 47 views
0

我有下面的代碼行內的循環

for (var i = 0; i < details.length; i++){ 
$('#data').append('<div class="time" onclick=showAndroidToast(details[i])></div>); 
} 

showAndroidToast功能是越來越調用,但它說i is undefined

+0

你的代碼的語法是錯誤的。用''

';'代替。 - 否則,你只是打印字母'i'並將它傳遞給'showAndroidToast'函數。 – evolutionxbox

回答

3

串聯+ operator

var details = [1, 2, 3, 4, 'Hello']; 
 
for (var i = 0; i < details.length; i++) { 
 
    $('#data').append('<div class="time" onclick="showAndroidToast(\'' + details[i] + '\')">Element</div>'); 
 
} 
 

 
function showAndroidToast(val) { 
 
    console.log(val); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> 
 
<div id='data'></div>

+0

如何發送多個參數,如showAndroidToast(p1,p2,p3) –

0

您的語法不正確。你輸入我作爲字符串的一部分,而不是變量。使用

'<div class="time" onclick=showAndroidToast(' + details[i] + ')></div>'