Добрый день, ребята. Я пытаюсь реализовать функцию onclick
в динамически созданной таблице в jQuery. Но каждый раз, когда я нажимаю кнопку, я получаю эту ошибку
(Неожиданный токен НЕЗАКОННЫЙ)
в моей консоли.
Но когда я нажимаю на ошибку, там нет кода в строке, на которую он указывает.
Вот код:
$(document).ready(function(){
var tbl="";
$.getJSON('./libs/form.php',function(result){
console.log(result);
$.each(result,function(key,val) {
if($.isNumeric(key)){
var mail=val.Email;
tbl+="<tr class='odd gradeX'> ";
tbl+="<td>" + val.Name + "</td>";
tbl+="<td>"+ val.Email +"</td>";
tbl+="<td>"+ val.Gender +"</td>";
tbl+="<td>" + val.Qualification + "</td>";
tbl+="<td>" + val.Experience + "</td>";
tbl+="<td>" + val.Note + "</td>";
tbl+="<td><a onclick='javascript:call(" + mail +");' class='btn btn-success btn-small'><i class='icon-edit icon-white'></i>" + "EDIT" + "</a></td>"
tbl+="</tr>";
}
});
$("#applicantstbl").append(tbl);
$("#applicantstbl").dataTable({
"bJQueryUI":true,
"sPaginationType":"full_numbers"
});
});
});
Пожалуйста, я хотел бы знать, что я делаю неправильно, он отлично отображает таблицу. Просто функция onclick
.
Вот функция, которую я пытаюсь вызвать:
<script>
function call(name)
{
alert("Called"+ name);
}
</script>
Попробуйте изменить
".....onclick='javascript:call(" + mail +");'...."
в
".....onclick='javascript:call(\"" + mail +"\");'....."
изменить имя вызова функции на что-то еще может вызватьFun.
<a onclick='javascript:callFun(\"" + mail +"\");'>mail</a>
или альтернативный
<a emailId='" + mail +"'>mail</a>
$('#applicantstbl').on('click','.btn-small',function(e){
e.preventDefault();
callFun($(this).attr('emailId'));
});
Попробуйте это,
$('#applicantstbl').on('click','.mail-link',function(e){
e.preventDefault();
call($(this).data('email'));
});
Добавьте mail-link
на класс в mail-link
html, например,
tbl+="<td><a data-email='"+mail+"' class='mail-link btn btn-success btn-small'><i class='icon-edit icon-white'></i>" + "EDIT" + "</a></td>"