使用If Else语句通知结果AJAX的用户

时间:2016-02-19 02:48:07

标签: php ajax

我有一个在keyup上执行的搜索功能。消息可以是

  1. 显示有结果时的加载
  2. 当用户删除值或不向搜索字段添加任何字符时重新加载完整表。 (此场景回顾了displayRecords()功能。)
  3. 告诉用户没有结果。
  4. 我似乎无法让第三种情况发挥作用。我当前的代码将显示"这些是您的搜索结果..."如果用户删除了他们输入的字符,它将调用该函数来填充表displayRecords()。如何让程序将我的所有3个场景都纳入其逻辑中。

    $("#itemID").keyup(function (){
        var url = searchPath;
        $.ajax({
            type  : "POST",
            async : false,
            url   : url,
            data: $('#itemID').serialize(),
            cache : false,
            success: function(html) {
               $( "#productResults" ).html( html );
            if (html === null) {
                      $("#loader_message").html('<p>There were no results that match your search criteria</p>').show();
                  } else {
                      $("#loader_message").html('These are your search results... <img src="../wp-content/uploads/2016/02/loading.gif" alt="Loading">').show();
                  }
            if( !$('#itemID').val() ) {                     
                    displayRecords(limit, offset);   
                }
                    html = null;
                    window.busy = false;
                }
          });
    });    
    

1 个答案:

答案 0 :(得分:1)

可能你的变量html不为null,使用jQuery.trim()从你的响应数据中删除额外的空格,以便你可以检查空虚,

..
if ($.trim(html) === '') { //check if its blank
    $("#loader_message").html('<p>There were no results that match your search criteria</p>').show();
} else {
    $("#loader_message").html('These are your search results... <img src="../wp-content/uploads/2016/02/loading.gif" alt="Loading">').show();
}
..