我的页面上有一些不同的模态需要传递给它们的数据。我用this other question解决了这个问题,我现在使用jQuery并且非常有帮助。这就是我现在所拥有的:
$(document).on("click", ".edit", function () {
$(".modal-body #value").val($('.edit').data('id'));
});
我的问题是,由于我的页面动态创建了按钮(来自基于模型的foreach),无论我点击哪个按钮,都会从第一个按钮获取值。如何从单击的按钮获取值。
我考虑给他们所有单独的ID,但我不想为每个id创建一个函数。我读到这个.on方法有一个数据属性,但我找不到如何使用它的好例子,以及它是否适用于我的情况。
如果有人有任何建议,我将非常感激。谢谢!
答案 0 :(得分:5)
$(document).on("click", ".edit", function () {
// Use $(this) to reference the clicked button
$(".modal-body #value").val($(this).data('id'));
});
答案 1 :(得分:1)
您可以使用this
关键字引用被点击的按钮。请尝试以下方法:
$(document).on("click", ".edit", function () {
$(".modal-body #value").val($(this).data('id'));
});
答案 2 :(得分:0)
使用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
属性。