Jquery manipulate elements by a passed object reference -


i have jquery code me

$('.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)); // , giving error  }  

what want make call finishajax function upon ajax completion , append result parent of element on event fired, tried getting referene of parent var ref = $(this).parent('.show_sub_categories'); , passed along finishajax call in settimeout function throwing jquery error.

here actuall error message : syntax error, unrecognized expression: [object object]
(function(e,t){function _(e){var t=m[e...y",[],function(){return v})})(window);

you can .done() instead of adding parameter post. also, anonymous functions more easier debug, when need pass parameters in settimeout syntax. try :

$('.parent').livequery('change', function() {     var ref=$(this).parent('.show_sub_categories');      ref.append('<img src="nlevel_ajax_dropdown/loader.gif" style="float:left; margin-top:7px;" id="loader" alt="" />');      var ajaxpost = $.post("nlevel_chid_categories.php", {         parent_id: $(this).val()     });      ajaxpost.done(function(response){         settimeout(function(){             finishajax('show_sub_categories', response, ref);         }, 400);     });      return false; }); 

edit: adjusted ref definition use on + passing in unescaped version of response in .done part.

also, ref passed in finishajax selector should accessed directly @ point:

function finishajax(id, response, ref){     $('#loader').remove();     ref.append(response); } 

Comments

Popular posts from this blog

php - mySql Join with 4 tables -

css - Text drops down with smaller window -

c# - DetailsView in ASP.Net - How to add another column on the side/add a control in each row? -