大家好。我试图在jQuery中动态创建的表中实现onclick
函数。但每次我点击按钮,我都会收到此错误
(意外的标记ILLEGAL)
在我的控制台中。
但是当我点击错误时,它指向的行上没有代码。
以下是代码:
$(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>
答案 0 :(得分:1)
尝试更改
".....onclick='javascript:call(" + mail +");'...."
到
".....onclick='javascript:call(\"" + mail +"\");'....."
答案 1 :(得分:0)
试试吧,
$('#applicantstbl').on('click','.mail-link',function(e){
e.preventDefault();
call($(this).data('email'));
});
将类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>"
答案 2 :(得分:0)
将函数调用的名称更改为其他名称可以调用.Four。
<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'));
});