【问题标题】:Passing Parameters to jQuery Delete Button Click EventHandler将参数传递给 jQuery 删除按钮单击 EventHandler
【发布时间】:2009-05-15 20:59:05
【问题描述】:
我有以下 jQuery
$('#btnDelete').click( function() {//Do the delete here via jquery post});
在我的表格中,我有很多行如下
<a id="btnDelete">Delete</a>
如何将参数传递给点击事件以发布 ID 以删除某些内容
【问题讨论】:
标签:
javascript
jquery
html
asp.net-mvc
xhtml
【解决方案1】:
如果你有很多,将处理程序绑定到它们的最简单方法是让它们都共享一个公共类而不是一个公共 ID(ID 应该是唯一的......)。
<a class="btnDelete" id="del_123">Delete</a>
<a class="btnDelete" id="del_124">Delete</a>
<a class="btnDelete" id="del_125">Delete</a>
然后要激活它们,你可以绑定一个点击事件:
$(function() {
$(".btnDelete").click(function() {
// get your id here
var $id = parseInt(this.id.substring(4));
// POST with your info or whatever... and then...
return false;
});
});
【解决方案2】:
你可以使用这个包裹在 jQuery 函数中。在您的回调中:
$(this)
将是一个包含触发事件的 a 标记的包装集。例如,如果你有这样的结构:
<tr><td><a id="btnDelete">Delete</a></td></tr>
$(this).parent()
将包含父 td 元素。然后,您可以使用其 id 或属性。这比尝试将参数传递给回调要好得多。