Я новичок в веб-разработке, только начал изучать ajax-запросы и динамическое создание контента.
У меня нет проблем с загрузкой и анализом данных. После загрузки данных динамически я создаю несколько строк, представляющих каждый элемент массива (ответ на запрос ajax):
for(var i=0; i< dicts.length; i++){
var dict = dicts[i];
div_content += "<div id='row' " +
"onclick='callJs("+ dict.get('itemId') +");'>" +
<b>" + dict.get('name').toUpperCase()+ "</b> "+
dict.get('itemId') + " " +
dict.get('active_deals') + " DEAL <br/>" +
dict.get('popularity') + ". POPULAR BRAND <br/>" +
"<img src='resources/list_break.png' /><br/>" +
"</div>";
}
dict.get ('itemId') - это Long (26 цифр) в виде строки. Когда я щелкаю строку, функция callJs срабатывает, но возникает странная проблема. Моя длинная строка становится длинной, например:
row id --> 85511111031103236921544356 ,
in function I see, row id --> 8551111103110325e+25
моя строка превращается в длинную, я не могу понять. Я также проверил, что мой парсер возвращает правильное значение. Я думаю, что динамически созданная функция click строки преобразует строку в long.
function callJs(itemId) {
alert(itemId); // prints 8551111103110325e+25
alert(itemId.toString()); // prints 8551111103110325e+25
}
Как видите, в цикле итератора я печатаю itemId каждой строки, печатает правильное значение (85511111031103236921544356):
Я нигде не мог найти решение. Я хочу передать идентификатор каждой строки в мою функцию.
Любое решение заставляет меня так радоваться ..
Заранее спасибо ..