独特元素的JQuery模态触发器

时间:2015-10-29 17:46:23

标签: javascript jquery html twitter-bootstrap modal-dialog

假设我有一个包含3个元素的集合。

每个元素都有一个相应的删除按钮,我想向我的服务器发起POST。现在我进行了设置,以便在按下“删除”按钮时,会弹出一个确认模式,显示“是”和“否”按钮。我为每个元素使用相同的模态。

问题是,当我在模态中单击“是”时,我怎么能让它知道哪个删除了我点击启动模态的按钮?

这是指向包含有问题代码的要点的链接 https://gist.github.com/anonymous/85481507a1171467cae5

我尝试过使用下面的建议来实现以下内容:

$('#hingle_dingle_0').on('click', function(e){
    $('#confirmRemoveNetwork').modal('toggle', $(this));
});
$('#confirmRemoveNetwork').on('show.bs.modal', function (event) {
    var button = $(event.relatedTarget) // Button that triggered the modal
    console.log(button);
});

但是这会返回一个空集。我不能为了善良而弄清楚为什么它找不到这个事件。

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

模态是自动调整,因为您在带有输入的表单中使用<button>打开它。除非你告诉它,否则这将导致表单提交。只需将类型设置为按钮(而不是提交默认值):<button type="button">

您可以通过点击打开模态时抛出的事件来捕获调用按钮:

$('#confirmRemoveNetwork').on('shown.bs.modal', function (e) {
    console.log(e.relatedTarget.id);
});

最后,请确保您的ID是唯一的。你不能同时拥有&#34;删除网络&#34;使用相同ID removenetworkbtn

的按钮