我有一个jQuery脚本来从外部源(ajax)获取一些信息,并且在这样做时应该出现一个加载器图像。 JQuery似乎不喜欢它,因为该行未被执行。在执行期间,应禁用输入,但跳过该代码。
我的jQuery代码:
$("#pnum").keyup(function(){
nieuw = $(this).val();
code = $('#pnum').val();
$("#pnum").css("background-color", "#FFC080");
if (oud != nieuw && option != 0 && code.length >= 1 && code.length <=4 ) {
$("#loaderImage").show();
$("input").prop('disabled', true);
$("#mode").prop('disabled', true);
$('#pnumTable').empty();
if (code.length >= 1) {
$.ajax({
url: "http://sistermans.diskstation.me/NetBeans/Postcodes/api-postcode.php",
dataType: "jsonp",
jsonpCallback: "postcodeResults",
data : {mode: option, pnum: code }
});
}
oud = nieuw;
$("#loaderImage").hide();
$("input").prop('disabled', false);
}
if (code.length < 1 || code.length > 4 ) {
$("#pnum").css("background-color", "yellow");
}
});
html中应该弹出加载程序图像和答案的部分:
<div id="loaderImage">
<p>Haal de gegevens op volgens methode : <br>
<div id="keuze"></div><p>
<p><img src="web_images/ajax-loader-hscrew.gif"></p>
</div>
<table>
<div id="pnumTable">
</div>
</table>
答案将显示在pnumTable div中。这总是有效的。 <div id="keuze">
在其他地方处理。
我可能做错了什么,但我不知道她在哪里。
有人愿意帮助我吗?
答案 0 :(得分:0)
尝试将隐藏代码放入成功回调中,如下所示......
if (code.length >= 1) {
$.ajax({
url: "http://sistermans.diskstation.me/NetBeans/Postcodes/api-postcode.php",
dataType: "jsonp",
jsonpCallback: "postcodeResults",
data : {mode: option, pnum: code },
success: function(){
oud = nieuw;
$("#loaderImage").hide();
$("input").prop('disabled', false);
}
});
}