我正在使用JQueryUI对话框来显示链接。我有20个按钮,有20个不同的链接。我不想传递该链接,因此对话框知道要打开哪个链接。
以下是代码:
$(function () {
$(document).ready(function () {
$('#dialog').dialog(
{
autoOpen: false,
modal: true,
open: function (event, ui) {
var id = $(this).data('aid'); // It does not work here
$(this).load("Link?id=" + id);
},
hide:
{
effect: "explode",
duration: 500
}
});
});
$('input[type=submit]').click(function () {
var id = $(this).data('aid'); // Works here. I wan't to pass this.
$("#dialog").dialog("open")
});
});
MVC /剃须刀:
<input type="submit" value="Show" class="button" data-aid="@Model.item.id" />
有没有人对如何做到这一点有任何建议?
非常感谢。
答案 0 :(得分:3)
在打开对话框之前,将数据属性设置为#dialog
- 在this
回调中可以open()
进行访问:
$("#dialog").data('aid', $(this).data('aid')).dialog("open");
现在这应该有效:
...
open: function (event, ui) {
var id = $(this).data('aid'); // Now it will work here
$(this).load("Link?id=" + id);
},
...