在我的页面上单击链接时,它会显示一个警告,其中包含相关项目的ID。但接下来发生的事情(使用包含该ID的URL +查询字符串触发弹出窗口)显示为未定义。所以我只想弄清楚为什么变量ID在调用弹出窗口时没有保持该值。
编辑:现在使用当前更改,需要2次点击才能使用正确的查询字符串/ ID显示弹出窗口。有任何想法吗?将.magnificPopup更改为.magnificPopup.open时,无法执行任何操作。
编辑:现在正在运作。固定行:$ .magnific.open删除与其绑定的类名。现在一切都很完美。谢谢你的帮助!
<head><meta charset='UTF-8'>
<link rel='stylesheet prefetch' href='magnific-popup/magnific-popup.css'>
</head><body>
<script src='magnific-popup/jquery-2.1.4.min.js'></script>
<script src='magnific-popup/magnific-popup.js'></script>
<script type="text/javascript">
$(document).ready(function () {
$('.simple-ajax-popup2').click(function () {
ID = $(this).data("var1");
// alert(""+ID+"");
$.magnificPopup.open({
items: {
src: 'Test.html?ID=' + ID + ''
},
type: 'iframe',
});
});
});
</script>
<a class="simple-ajax-popup2" data-var1="1" href='#' >
test 1
</a> <br>
<a class="simple-ajax-popup2" data-var1="2" href='#' >
test 2
</a> <br>
<a class="simple-ajax-popup2" data-var1="3" href='#' >
test 3
</a>
</body></html>
答案 0 :(得分:0)
你应该在click事件的函数中调用你的弹出窗口,否则,在执行magnificPopup时,ID仍未定义:
$(document).ready(function () {
$('.simple-ajax-popup2').click(function () {
ID = $(this).data("var1");
alert(""+ID+"");
$('.simple-ajax-popup2').magnificPopup.open({
items: {
src: 'Test.aspx?ID=' + ID + ""
},
type: 'iframe',
});
});
});