Не передается строковая переменная
Вот часть кода, с которой трудности
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, время: 14:45. |