我是javascript的新手,我试着找一个星期的问题。
我的示例代码如下(所有代码都在head标签的html页面中)
//示例功能1
function randomString(len, charSet) {
charSet = charSet || 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
var randomString = '';
for (var i = 0; i < len; i++) {
var randomPoz = Math.floor(Math.random() * charSet.length);
randomString += charSet.substring(randomPoz,randomPoz+1);
}
return randomString;
}
//example function 2
function tests(randomString) {
alert(randomString);
}
//example function 3 pull data from JSON to div id test
$(document).ready(function() {
$.getJSON("http://www.test.com/get_json_data.php?", {
cat_id: "3",
type:'GET',
dataType: 'json',
}, function(data) {
$.each(data.items, function(i, item) {
$('#test').append('<a href="#" onclick="tests(randomString(5))"><img src="http://www.test.com/images/'+item.image+'"/></a>');
if (i == 10) return false;
});
});
});
我的问题是我想从JSON插入var例如&#34; item.id&#34;进入&#34; onclick&#34;我试图做的是
的onclick =&#34;测试(randomString(5)+ item.id)&#34;
我想看的结果是提醒5个随机字符,最后包括item.id,例如
xIyax33 (33 is item.id)
TwQpu34 (34 is item.id)
AERim35 (35 is item.id)
但始终显示错误&#34;项目未定义&#34;
如何更改代码以从JSON插入var?
答案 0 :(得分:0)
您需要在名为randomString()
的{{1}}函数中再添加一个参数,该函数将获取id
。您需要将其附加到item.id
。
randomString
并将您的附加内容更改为
function randomString(len,id, charSet) {//See second param
charSet = charSet || 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
var randomString = '';
for (var i = 0; i < len; i++) {
var randomPoz = Math.floor(Math.random() * charSet.length);
randomString += charSet.substring(randomPoz, randomPoz + 1);
}
return randomString+id; //+id
}