【问题标题】:How to insert data from JSON to javascript function?如何将数据从 JSON 插入 javascript 函数?
【发布时间】:2015-05-26 04:25:29
【问题描述】:

我是 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,例如“item.id”到“onclick”中我试图做的如下

onclick="tests(randomString(5)+item.id)"

我希望看到的结果是警报 5 个随机字符,并在末尾包含 item.id,例如

xIyax33 (33 is item.id)
TwQpu34 (34 is item.id)
AERim35 (35 is item.id)

但总是显示错误“项目未定义”

如何更改代码以从 JSON 中插入 var?

【问题讨论】:

  • $('#test').append('&lt;a href="#" onclick="tests(randomString('+item.id+'))"&gt;&lt;img src="http://www.test.com/images/' + item.image + '"/&gt;&lt;/a&gt;');

标签: javascript json


【解决方案1】:

您需要在您的randomString() 函数中添加一个名为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
 }

并将您的附加更改为

$('#test').append('<a href="#" onclick="tests(randomString(5,'+item.id+'))"><img src="http://www.test.com/images/'+item.image+'"/></a>');

【讨论】:

  • 像魅力一样工作我真的很感谢你帮助我。
猜你喜欢
  • 1970-01-01
  • 2015-07-25
  • 1970-01-01
  • 2019-10-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多