在jquery代码点火器中显示后,在一个区域中隐藏div

时间:2013-01-26 05:58:58

标签: php javascript json codeigniter jquery

我在视图页面的一个区域中有一个名为“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);

            }
        })
    }
})

1 个答案:

答案 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);
}