我通过执行以下操作动态添加按钮:
<input id="{Id}" type="submit" value="View">
{Id}
在运行时被替换为记录ID。
我希望有这样的功能:
function viewRecord(button) {
//Do something here...
}
如何将单击侦听器添加到与单击的正确按钮对应的按钮?
我今天开始学习jquery
,希望得到一个答案,说明它是如何实现的。
修改
根据以下答案,我正在尝试以下方法:
<td><input class="viewRecord" type="submit" value="View"></td>
$(".viewRecord").click(function () {
var $table = $('#table'),
var $tableBody = $table.find('tbody'),
var $text = $tableBody.closest('tr').attr('id');
alert($text);
});
但是,没有显示警报。
我错过了什么吗?
答案 0 :(得分:1)
使用以下代码:
<div id="container">
<input id="{Id}" type="submit" value="View" class="dynamic-btn" />
</div>
(function($) {
var btnClick = function(){
var id = $(this).attr('id');
alert(id);
/*Do smth that you needed*/
};
$(function() {
$("#container").on("click", ".dynamic-btn", btnClick)
});
}(jQuery));
答案 1 :(得分:1)
两个步骤:
1)找到input
:
var dynamicButton = document.getElementById('{Id}');
2)添加click
事件监听器:
dynamicButton.addEventListener('click',function(){viewRecord(dynamicButton.id);},false);