我在视图页面的一个区域中有一个名为“hide”的div ...我想隐藏它反对ajax的响应...这是我的代码..首先我在开始时隐藏div我写$('#hide')。hide();就在准备好的功能之后...然后我在其他部分显示div ..所以现在我想要的是我想再次隐藏它如果响应是'userNo'...一切正常,除了div没有再次隐藏..我不知道为什么会出现问题
$(document).ready(function(){
$('#hide').hide();
$('#bill_no').blur(function(){
if( $('#bill_no').val().length >= 3 )
{
var bill_no = $('#bill_no').val();
getResult(bill_no);
}
return false;
})
function getResult(billno){
var baseurl = $('.hiddenUrl').val();
$('.check').addClass('preloader');
$.ajax({
url : baseurl + 'returnFromCustomer_Controller/checkBillNo/' + billno,
cache : false,
dataType: 'json',
success : function(response){
$('.check').removeClass('preloader');
if (response == "userNo")
$('#hide').hide(); // this is not working
else
$('.check').removeClass('userNo').addClass('userOk');
// $(".text").html(response.result);
$('#hide').show();
$(".text1").html(response.result1);
$(".text2").html(response.result2);
$(".text3").html(response.result3);
}
})
}
})
答案 0 :(得分:1)
哦,你隐藏div,然后在'else'语句之后再在你的第二行代码中显示它!所以你觉得你的代码不起作用。您的代码如下: 如果响应是'userNo',则隐藏div,否则在$('。check')上删除/添加一些类。在任何一种情况下,显示div并替换三个文本div的html。因为你的show div语句不在if / else的情况下。
你应该总是在if / else语句之后使用{},否则只在if / else执行之后立即使用第一个语句。所以你应该做
if (response == 'userNo') {
$('#hide').hide();
} else {
$('.check').removeClass('userNo').addClass('userOk');
$('#hide').show();
$(".text1").html(response.result1);
$(".text2").html(response.result2);
$(".text3").html(response.result3);
}