1

我有一个项目列表,所有项目都有一个“单击此处获取更多信息”链接。通过此链接,我想打开一个模式弹出窗口并在其中显示详细信息。我的问题是,如何将 id 传递给相关的模式弹出窗口。

目前我有以下代码: -

列表中的每个项目都将具有以下内容:-

<a href="#" class="modal_link" data-id="@item.ExpId">Click here for more info.</a>

在我的 jquery 中,我有以下内容:-

    var id = $(".modal_link").attr("data-id");
alert(id);

$(document).ready(function () {
    $('.modal_block').click(function (e) {
        $('#tn_select').empty();
        $('.modal_part').hide();
    });

    $('.modal_link').click(function (e) {
        $('.modal_part').show();
        var context = $('#tn_select').load('/Experience/ShowExpDetail?id=' + id, function () {
            initSelect(context);
        });
        e.preventDefault();
        return false;
    });

});

但是 id 始终未定义。

我怎样才能通过这个变量?

感谢您的帮助和时间

4

3 回答 3

2

由于您希望在id单击时提供每个链接的 ,因此您需要使用从 获取的自引用,this如下所示:

$('.modal_link').on('click', function (e) {
    e.preventDefault();
    $('.modal_part').show();

    var id = $(this).attr('data-id');
    var context = $('#tn_select').load('/Experience/ShowExpDetail?id=' + id, function () {
        initSelect(context);
    });
});

你的load()电话对我来说并不完全正确,但我必须看看剧本的其余部分才能知道......

于 2013-01-08T09:37:23.027 回答
0

把这些线移到 var id = $(".modal_link").attr("data-id"); alert(id); 里面 $(document).ready(function () {

于 2013-01-08T09:30:41.967 回答
0
 $('.modal_link').click(function (e) {

 alert($(this).attr('id'));
        $('.modal_part').show();
        var context = $('#tn_select').load('/Experience/ShowExpDetail?id=' + id, function () {
            initSelect(context);
        });
        e.preventDefault();
        return false;
    });
于 2013-01-08T09:33:01.887 回答