Я использую диалоговое окно 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/Razor:
<input type="submit" value="Show" class="button" data-aid="@Model.item.id" />
Есть ли у кого-нибудь предложения о том, как я могу это сделать?
Большое спасибо.
До открытия диалогового окна, установите свойство данных в #dialog
- который INTURN доступен, как 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);
},
...