我有类似这样的链接
<a onclick="returnCategory($(this).attr('data-category-id'))" data-category-id="15">Tablets</a>
使用onclick调用的函数是
function returnCategory(categoryId) {
return categoryId;
}
我的fancybox代码是
function showPopup() {
$.fancybox({
href: 'popup.php',
type: 'ajax',
width: '90%',
height: '100%',
beforeClose : function () {
categoryId = returnCategory();
alert("Required category Id is :" + categoryId);
},
});
}
点击锚点,上面的代码会生成警告“必填类别ID为:undefined ”
我的问题是如何在fancybox beforeClose中提醒returnCategory()函数返回的值? 我不想在这里使用全局变量。
答案 0 :(得分:1)
您的问题是函数returnCategory
返回传递给它的值。因此,当您在fancybox之前调用它而不传递参数时,它将返回undefined
。如果你真的无法使用全局变量,那么一种方法就是使用像
<input type="hidden" id="selectedCategory"/>
和javascript
function returnCategory(categoryId) {
var inputCategory = document.getElementById("selectedCategory");
inputCategory.value = categoryId;
}
和
beforeClose:function(){
selectedCategoryId = document.getElementById("selectedCategory").value;
alert("Required category Id is :" + selectedCategoryId );
}