Ошибка при клике
Всем привет.
есть кнопка которая вызывает некоторую функцию - <button class='zakaz' onclick=showPopup3("+val.name+")>Заказать</button> но при таком раскладе функция showPopup3 не вызывается происходит ошибка - ncaught SyntaxError: missing ) after argument list Пробовал так - onclick=showPopup3('"+val.name+"')получаю другую ошибку - Uncaught SyntaxError: Unexpected token ILLEGAL подскажите пожалуйста, как правильно вызвать функцию при клике и передать значение? |
Цитата:
<button class='zakaz' onclick='showPopup3(val.name)'>Заказать</button> Или <button class='zakaz' onclick='showPopup3("'+val.name+'")'>Заказать</button> |
$.getJSON('http://site.ru/json.php',function(data){ $.each(data, function(key, val) { $('#showItem').append("<li><div class='list-block'>"+val.name+"</div><button class='zakaz' onclick='showPopup3(val.name)'>Заказать</button></li>"); }); }); вот так выглядит примерно |
Цитата:
второй - missing ) after argument list |
$.each(data, function(key, val) { nm = val.name; $('#showItem').append("<li><div class='list-block'>"+val.name+"</div><button class='zakaz' onclick='showPopup3(nm)'>Заказать</button></li>"); }); попробовал так. передается только последнее значение из списка.. |
Цитата:
<!DOCTYPE html> <html> <head> <meta http-equiv='Content-Type' content='text/html; charset=windows-1251' /> <script src='http://code.jquery.com/jquery-latest.js'></script> <!-- <script src="https://code.angularjs.org/1.3.9/angular.min.js"></script> <script src="https://code.angularjs.org/1.3.9/angular-route.js"></script> <link rel='stylesheet type=text/css href=tmp.css' /> <link rel="stylesheet/less" type="text/css" href="style.less"> <script src="http://cdnjs.cloudflare.com/ajax/libs/less.js/2.5.0/less.min.js"></script> --> <style type='text/css'> </style> <script type='text/javascript'> $(function(){ var data=[ {name: 'Вася'}, {name: 'Петя'}, {name: 'Лена'}, {name: 'Таня'} ]; $.each(data, function(key, val) { var html="<li><div class='list-block'>"+val.name html+="</div><button class='zakaz' onclick='alert(\"" html+=val.name+"\")'>Заказать</button></li>"; $('#test').append(html); }); }); </script> </head> <body> <ul id='test'></ul> </body> </html> Тестовые примеры учись делать... |
Цитата:
Дошло что в некоторых именах у меня использованы двойные скобки. Они как раз вызывают ошибку. что можно с ними сделать? например var data=[ {name: 'Вася'}, {name: 'Петя "Воин"'}, {name: 'Лена'}, {name: 'Таня'} ]; |
Зосимов, мой код абсолютно рабочий, это видно из работающего примера... Почему и где не работает именно у тебя - я х/з. :)
|
Цитата:
|
Цитата:
var data=[ {name: 'Вася'}, {name: 'Петя \"Воин\"'}, {name: 'Лена'}, {name: 'Таня'} ]; |
Часовой пояс GMT +3, время: 00:56. |