0

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

            }
        })
    }
})

4

1 回答 1

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);
}
于 2013-01-26T06:09:47.103 回答