看板 Ajax 關於我們 聯絡資訊
一直以來都有個問題,但總想拐彎過改流程來逃避。 但總覺得一定有法子處理的。 我問題是某一元素綁定事件後,當事件觸發的程式碼部份未完成時(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完成後 再執行呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.124.142.152
nightspirit:get 不是有complete的callback可以叫嗎? 03/30 04:17
knuckles:黃色就寫在$("#mydiv").html(data);下一行就好啦 03/30 06:36
我問題沒描述清楚,實事上,黃色那行所要加入selected屬性的元件,正是 由該事件中$.get回來的,所以$.get還沒完成時,程式依然會進行到黃色那行, 然後就什麼事都不會發生。因為那個HTML元素還在$.get中,或剛GET回來。 我想問的是類似如此的情況,是否有什麼方式請JQuery或javascript等一下。 例: $.somefunction().finish(Do something...) 之類的做法。 ※ 編輯: averywu 來自: 59.124.142.152 (03/30 07:46)
linhomeyeu:1F 03/30 12:41
grence:我覺得 1.2樓的推文就是答案了 @@a 03/30 21:18
linhomeyeu:所以我推 1F XD 03/31 00:29
averywu:可是我接在下行沒效耶... 03/31 03:17