作者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