向数据表单元格添加侦听器
Add a listener to datatables cell
我想为表(我使用数据表)的第7列的每个单元格添加一个复选框和一个侦听器:
<script>
$(document).ready(function() {
// add checkbox to scheduled
$("#pm_table td:nth-child(7)").each(function() {
var site_id =2;
// $(this).closest("tr");
// add checkbox
$(this).prepend('<input type="checkbox" '+(($(this).text())!='0'?'checked':' ')
+
// add listener
' onchange = alert("site_id:" ' + site_id + '") '
+
'/>');
});
});
</script>
问题是当我尝试选中/取消选中复选框时,我遇到这个错误:
(index):1 Uncaught SyntaxError: missing) after argument list
我做错了什么,也有一个更好的方法来添加一个监听器到使用数据表的单元格?
问题是由于onchange
事件属性周围缺少引号,但是您应该完全避免使用它们并使用委托事件处理程序。试试这个:
$("#pm_table td:nth-child(7)").each(function() {
var $checkbox = $('<input type="checkbox" class="foo" />').appendTo(this);
$checkbox.prop('checked', parseInt($(this).text(), 10) != 0);
});
$('#pm_table').on('change', '.foo', function() {
var site_id = 2;
alert(site_id);
})
您在onchange事件中添加额外的+,"
。
$(document).ready(function() {
// add checkbox to scheduled
$("#three").each(function() {
var site_id =2// $(this).closest("tr");
// add checkbox
$(this).prepend('<input type="checkbox" '+(($(this).text())!='0'?'checked':' ')
+
// add listener
' onchange = alert("site_id:'+site_id+'") />');
});
} );
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<div id="three">1212</div>
相关文章:
- 将事件侦听器添加到文档,而不是签入元素存在,然后添加事件侦听器
- 如何将事件侦听器添加到跨域iframe中的元素中
- 向现有事件侦听器添加功能
- 在 <对象> 标记中加载 SVG 时,将侦听器添加到 SVG 卸载事件
- 如何将侦听器添加到 Angular 指令中
- 将多个事件侦听器添加到一个元素
- 按标记名称将事件侦听器添加到所有文档子项
- 如何将客户端进度侦听器添加到 JSF 2.2 ajax 请求中
- 将侦听器添加到GridPanel中,它's已创建
- 如何将事件侦听器添加到jEditable输入中
- 如何在初始化函数中向事件侦听器添加原型函数
- HERE 地图 (JS v3) - 将事件侦听器添加到信息气泡
- Javascript:如何将事件侦听器添加到CMS的主体中,JS代码在标头中
- 将 on('change') 的事件侦听器添加到 Google 地图信息窗口
- 当事件侦听器作为部分页面的一部分加载时,如何将事件侦听器添加到窗体中
- 将侦听器添加到标记在循环中不起作用
- 反应:将事件侦听器添加到没有包装器 html 标记的道具中
- 将侦听器添加到 jQuery 类集的效率,与使用 $.each 相比
- 将事件侦听器添加到多个元素(不包括一个元素)
- Onsen 2.0 - 使用 Javascript 将事件侦听器添加到 Ons-Switch