我有下面的代碼,它將採取一個數組,並附加到頁面動態QR碼與文本是數組中的元素。jQuery每個只返回最後一個元素,谷歌圖表API
$(document).ready(function() {
var list = ['dog', 'cat', 'mouse', 'hippo', 'ox'];
var qrUrl = 'https://chart.googleapis.com/chart?';
//functions
function getQrCodes(array) {
$.each(array, function (ix, val) {
//options gets chl property redefined for each element
//in the array
var options = {
cht: 'qr',
chs: '300x300',
chl: array[ix]
}
qrOptionArray.push(options);
console.log('this qr should be: ' + array[ix]);
console.log(qrUrl + $.param(options));
var $img = $('img').attr('src', qrUrl + $.param(options)).appendTo('body');
});
}
getQrCodes(list);
});
你可以看到從小提琴here控制檯輸出,雖然由於某些原因,QR碼不會在小提琴窗口出現,他們做我的本地機器上。我得到的問題是最後一個問題,不管你能看到數組中每個元素的控制檯輸出變化,我得到的唯一QR碼是數組中重複X次的最後一個元素。 即使控制檯輸出正確,這些QR罐頭中的每一個都會掃描並打印'ox'。這裏發生了什麼?
您正在選擇**所有圖像**,更改來源並將它們移動到身體**,每次迭代**。聽起來像是一個邏輯錯誤,對我來說。這或語法。 –
你的小提琴不起作用,因爲'$('img')'選擇圖像而不是創建它們。一旦我修好了,它似乎工作:http://jsfiddle.net/tHP9v/ –
@KevinB語法:) – wootscootinboogie