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
 $('.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 に答える
0

これらの行 var id = $(".modal_link").attr("data-id"); alert(id); を内側に 移動するだけです$(document).ready(function () {

于 2013-01-08T09:30:41.967 に答える