从动态按钮将特定值传递给模态

我的页面上有一些不同的模态需要传递给它们的数据。 我用另一个问题解决了这个问题 ,现在让我使用jQuery并且非常有帮助。 这就是我现在拥有的:

$(document).on("click", ".edit", function () { $(".modal-body #value").val($('.edit').data('id')); }); 

我的问题是,由于我的页面有动态创建的按钮(来自基于模型的foreach),无论我点击哪个按钮,这都会从第一个按钮获取值。 如何从单击的按钮获取值。

我想给他们所有单独的id,但我不想为每个id创建一个函数。 我读到这个.on方法有一个数据属性,但我找不到一个如何使用它的好例子,以及它是否适用于我的情况。

如果有人有任何建议我会非常感激。 谢谢!

 $(document).on("click", ".edit", function () { // Use $(this) to reference the clicked button $(".modal-body #value").val($(this).data('id')); }); 

您可以使用this关键字引用被单击的按钮。 请尝试以下方法:

 $(document).on("click", ".edit", function () { $(".modal-body #value").val($(this).data('id')); }); 

使用Bootstrap的事件:

 $('#your-modal').on('show.bs.modal', function (e) { var btn = $(e.relatedTarget); var id = btn.data('id'); $("#value").val(id); }); 

请参阅http://getbootstrap.com/javascript/#modals的“事件”部分:

[ show.bs.modal事件]在调用show实例方法时立即触发。 如果由单击引起,则单击的元素可用作事件的relatedTarget属性。