我有一个项目列表,所有这些项目都会有一个“点击此处获取更多信息”链接。通过此链接,我想打开一个模态弹出窗口并显示其中的详细信息。我的问题是,如何将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始终未定义。
如何传递此var?
感谢您的帮助和时间
答案 0 :(得分: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()
电话对我来说并不完全正确,但我必须看到脚本的其余部分才能知道......
答案 1 :(得分:0)
移动这些线条
var id = $(".modal_link").attr("data-id");
alert(id);
内
$(document).ready(function () {
答案 2 :(得分: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;
});