作者averywu (看文不要只会用横的看)
看板Ajax
标题[问题] 等待上个工作完成
时间Wed Mar 30 03:46:56 2011
一直以来都有个问题,但总想拐弯过改流程来逃避。
但总觉得一定有法子处理的。
我问题是某一元素绑定事件後,当事件触发的程式码部份未完成时(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
1F:推 nightspirit:get 不是有complete的callback可以叫吗? 03/30 04:17
2F:推 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)
3F:推 linhomeyeu:1F 03/30 12:41
4F:→ grence:我觉得 1.2楼的推文就是答案了 @@a 03/30 21:18
5F:→ linhomeyeu:所以我推 1F XD 03/31 00:29
6F:→ averywu:可是我接在下行没效耶... 03/31 03:17