作者nightspirit (鞭策自己社清流夜靈)
看板Ajax
標題Re: [問題] 等待上個工作完成
時間Thu Mar 31 14:22:21 2011
※ 引述《averywu (看文不要只會用橫的看)》之銘言:
: 一直以來都有個問題,但總想拐彎過改流程來逃避。
: 但總覺得一定有法子處理的。
: 我問題是某一元素綁定事件後,當事件觸發的程式碼部份未完成時(AJAX),怎麼讓
: 下面的等它完成再執行?
: 例:
: $("#mycombobox").bind('change',function(){
: $.get('myquery.php',{
: id : x
: },function(data){
: if(data!="false"){
: $("#mydiv").html(data);
: }
: }
: var tid = "#"+x;
: $(tid).attr('selected',true);
: })
: 黃色那段是不會有作用的,我知道尚未出現的元素綁定事件是用live(),但
: 尚未出現的元素賦值就很頭大,有沒有什麼方式讓黃色那行可以等$.get完成後
: 再執行呢?
http://api.jquery.com/jQuery.get/
1.5有 complete可以叫
var jqxhr = $.get("example.php", function() {
alert("success");
})
.success(function() { alert("second success"); })
.error(function() { alert("error"); })
.complete(function() { alert("complete"); });
把黃色那段塞到complete匿名函數裡即可
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 24.4.210.126
1F:推 averywu:感謝!就是這個 04/01 07:09
2F:推 a517981:請問一下success和complete是誰先誰後阿? 04/04 02:28
3F:→ nightspirit:success先吧 04/05 04:18