Ошибка при клике
Всем привет.
есть кнопка которая вызывает некоторую функцию -
<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, время: 18:04. |