当在我的页面上单击一个链接时,它会显示一个带有该项目ID的警报。但是接下来发生的事情(包含该ID的URL + querystring触发的弹出)显示为未定义的。因此,我只是想弄清楚为什么在调用弹出窗口时变量ID不保存值。
编辑:因此,现在对于当前的更改,需要2次单击才能使弹出窗口显示正确的querystring/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>发布于 2015-10-26 18:56:05
您应该在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',
});
});
});https://stackoverflow.com/questions/33353338
复制相似问题