我正在尝试将值从一个函数传递给另一个onclick
function getReporteeList() {
$.ajax({
url:'http://localhost:8088/JirasTrackingApp/reporter/Reportees/ReporteeList/'+ $("#ManagerId").val(),
type:'GET',
dataType: 'json',
success: function(result){
alert(result);
var content = '';
$.each(result,function(key,value){
content += '<tr>';
content += '<td>'+value.Name+'</td>';
content += '<td>'+value.UserId+'</td>';
content += '<td>'+'<a href="#" onclick ="getJira('+value.UserId+')">'+value.count+'</a>'+'</td>';
content += '</tr>';
});
$('#employee_table').append(content);
console.log(result);
}
});
}
function getJira(value)
{
var empid = document.getElementById("value").value;
console.log(empid);
}
单击UserId超链接时引发错误: 未捕获的ReferenceError: 未定义at12345 在HTMLAnchorElement.onclick
答案 0 :(得分:1)
value.userid
是一个字符串,因此在getJira()
的参数中需要用引号引起来。
content += '<td>'+'<a href="#" onclick ="getJira(\''+value.UserId+'\')">'+value.count+'</a>'+'</td>';
答案 1 :(得分:0)
只需为您的<td>
添加一个事件侦听器并在那里获取值。另外,如果您只是想调用函数,还有一些锚点以外的选项。
以下解决方案仅使用普通的旧javascript(无jquery)。基本上,它在表employeeTable中查找所有范围。然后,它添加一个点击侦听器并提取ID。您可以按当前当前设置的其他方式设置值。您可以提取一个值,实际上就是您想要包含该值的任何类。
示例:
var spans = document.getElementById('employeeTable').querySelectorAll('span');
spans.forEach(function(elem){
elem.addEventListener('click', function () {
console.log(this.id);
}, false);
})
<table id="employeeTable">
<thead>
<tr>
<td>Name</td>
<td>Class</td>
<td>Link</td>
<tr>
</thead>
<tbody>
<tr>
<td>Juice</td>
<td>Math</td>
<td><span id="t12345">here is the click</span></td>
</tr>
<tr>
<td>Eggs</td>
<td>English</td>
<td><span id="t8675309">here is the click</span></td>
</tr>
</tbody>
</table>
<Br><br><br>
<span>I'm a span outside of the table, I won't fire click listener</span>