我有这个 jquery 代码
$('.parent').livequery('change', function() {
$(this).parent('.show_sub_categories').append('<img src="nlevel_ajax_dropdown/loader.gif" style="float:left; margin-top:7px;" id="loader" alt="" />');
$.post("nlevel_chid_categories.php", {
parent_id: $(this).val(),
}, function(response){
var ref = $(this).parent('.show_sub_categories');
setTimeout("finishAjax('show_sub_categories', '"+escape(response)+"','"+ref+"')", 400);
});
return false;
});
});
function finishAjax(id, response,ref){
$('#loader').remove();
$(ref).append(unescape(response)); // and this is giving error
}
我想做的是在ajax完成时调用finishAjax函数并将结果附加到触发事件的元素的父级,所以我尝试获取其父级的引用并将var ref = $(this).parent('.show_sub_categories');
其与finishAjax
调用setTimeout
函数一起传递,但这是抛出jquery错误。
这是实际的错误消息:
Syntax error, unrecognized expression: [object Object]
(function(e,t){function _(e){var t=M[e...y",[],function(){return v})})(window);