Не передается строковая переменная
Вот часть кода, с которой трудности
var JSON; var i; function inboxmessageslist(){ $.ajax({ url: "php/getinboxmessageslist.php", type: "GET", dataType: "json", async: false, data: { login:getCookie('login') }, success: function(json){ for(var i = 0; i < json.length; i++){ JSON[i] = 'asd'; $('#inbox_messages_content').append('<div class="personal-message"><img src=' + getavatar(json[i].sender) + ' class="message-avatar" onclick="userprofile(' + JSON[i] + ')"></img></div>'); } }); } function userprofile(user){ alert(user); } При клике функция не работает, а в логах консоли пишет - Uncaught ReferenceError: asd is not defined А когда пишу вместо JSON[i] = 'asd'; на пример JSON[i] = 3;, то цифра успешно передается в функцию и выводится alert'ом. Почему же строковая переменная не передается? Помогите плиз, кто шарит. А то я голову сломал себе уже. |
Парни хелп плиз.
|
Неужели кто не знает как решить вопрос?
|
Цитата:
userprofile(' + JSON[i] + ') переменной asd нет. Вот пример как можно исправить это: <!DOCTYPE html> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <meta name="Keywords" content=""> <meta name="description" content=""> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>ГГ</title> <style> *{ margin:0; padding:0; outline: 0; } .button { width: 200px; height: 200px; border: 1px solid red; background: #08c; margin: 20px; } .innerbutton { width: 100px; height: 100px; background: green; } </style> </head> <body> <div class="button">Жми</div> <div class="button">Результат</div> <script> var a = document.querySelector('.button:first-child'); var b = document.querySelector('.button:nth-child(1)'); var b1 = 3; var b2 = 'asd'; a.onclick = function(){ b.innerHTML = "<div class='innerbutton' onclick=\"userprofile("+"\'"+b2+"\'"+")\"></div>"; } function userprofile(user){ alert(user); } </script> </body> </html> в общем надо использовать \' и \" если нужно чтобы была строка, а не переменная |
Цитата:
http://jsfiddle.net/xtwsvd3w/ |
Часовой пояс GMT +3, время: 20:13. |