loading for ajax call and my problem with it
why after empty value $(idinput).val() == ''
not hide loading ajax call #loadingDiv
:
$('#loadingDiv')
.hide() // hide it initially
.ajaxStart(function() {
$(this).fadeIn('slow');
})
.ajaxStop(function() {
$(this).fadeOut('slow');
});
$('.auto_complete').keyup(function () {
var specific = '.' + $(this).closest('div.auto_box').find('b').attr('class');
//var cl_list = '.' + $(this).closest('div.auto_box').find('ul').attr('class');
var id = '#' + this.id;
var url = $(id).attr('class');
var idinput = '#'+$(specific + ' input').attr('id');
var dataObj = $(this).closest('form').serialize();
$.ajax({
type: "POST",
dataType: 'json',
url: url,
data: dataObj,
cache: false,
success: function (data) {
//alert(url)
var cl_list = '.' + $('.auto_box '+ specific +' ul').attr('class');
var id_name = $(cl_list).attr('id');
$(cl_list).show().html('');
if (data == 0) {
$(cl_list).show().html('<p><b>وجود ندارد</b></p>');
}
else {
$.each(data, function (a, b) {
//alert(b.name)
$('<p id="' + b.name + '">' + b.name + '</p>').appendTo(cl_list);
});
$(cl_list + ' p').click(function (e) {
e.preventDefault();
var ac = $(this).attr('id');
$('<b>' + ac + '، <input type="text" name="'+id_name+'[]" value="' + ac + '" style="border: none; display: none;" /></b>').appendTo($('.auto_box ' + specific + ' span'));
$(this).remove();
return false;
});
$('.auto_box span b').live('click', function (e) {
e.preventDefault();
$(this).remove();
return false;
});
}
///////////////////////////////////here/////////////////////////////////////////////
if ($(idinput).val() == '') {
alert('cl_list')
$(cl_list开发者_StackOverflow中文版).hide()
$(cl_list + " p").hide().remove();
$('.auto_complete').val('');
$(".list_name").show().html('');
};
///////////////////////////////////end//////////////////////////////////////////////
$('body').click(function () {
$(cl_list + " p").hide().remove();
$('.auto_complete').val('');
$(cl_list).show().html('');
$(cl_list).css('display','none')
});
},
"error": function (x, y, z) {
// callback to run if an error occurs
alert("An error has occured:\n" + x + "\n" + y + "\n" + z);
}
});
});
It looks like you're missing a handful of semi-colons at the ends of your statements. Try this:
$('#loadingDiv')
.hide() // hide it initially
.ajaxStart(function() {
$(this).fadeIn('slow');
})
.ajaxStop(function() {
$(this).fadeOut('slow');
});
$('.auto_complete').keyup(function () {
var specific = '.' + $(this).closest('div.auto_box').find('b').attr('class');
//var cl_list = '.' + $(this).closest('div.auto_box').find('ul').attr('class');
var id = '#' + this.id;
var url = $(id).attr('class');
var idinput = '#'+$(specific + ' input').attr('id');
var dataObj = $(this).closest('form').serialize();
$.ajax({
type: "POST",
dataType: 'json',
url: url,
data: dataObj,
cache: false,
success: function (data) {
//alert(url);
var cl_list = '.' + $('.auto_box '+ specific +' ul').attr('class');
var id_name = $(cl_list).attr('id');
$(cl_list).show().html('');
if (data == 0) {
$(cl_list).show().html('<p><b>وجود ندارد</b></p>');
}
else {
$.each(data, function (a, b) {
//alert(b.name);
$('<p id="' + b.name + '">' + b.name + '</p>').appendTo(cl_list);
});
$(cl_list + ' p').click(function (e) {
e.preventDefault();
var ac = $(this).attr('id');
$('<b>' + ac + '، <input type="text" name="'+id_name+'[]" value="' + ac + '" style="border: none; display: none;" /></b>').appendTo($('.auto_box ' + specific + ' span'));
$(this).remove();
return false;
});
$('.auto_box span b').live('click', function (e) {
e.preventDefault();
$(this).remove();
return false;
});
}
if ($(idinput).val() == '') {
alert('cl_list');
$(cl_list).hide();
$(cl_list + " p").hide().remove();
$('.auto_complete').val('');
$(".list_name").show().html('');
};
$('body').click(function () {
$(cl_list + " p").hide().remove();
$('.auto_complete').val('');
$(cl_list).show().html('');
$(cl_list).css('display','none');
});
},
"error": function (x, y, z) {
// callback to run if an error occurs
alert("An error has occured:\n" + x + "\n" + y + "\n" + z);
}
});
});
Try:
if(!$(idinput).val())
I swear I had this same error a while back, but cant find the project.
精彩评论