按钮上的JQuery传递变量单击

时间:2013-12-10 14:26:17

标签: javascript jquery html jquery-ui javascript-events

我正在使用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" />

有没有人对如何做到这一点有任何建议?

非常感谢。

1 个答案:

答案 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);
},
...