如果在单击搜索按钮后表为空,则JQuery将消息添加到div

时间:2011-12-02 22:48:33

标签: javascript jquery forms

我有一个搜索页面,使用搜索字段下方的表格在同一页面上呈现结果。如果没有搜索结果,我想返回一条消息。

我知道如何通过添加一些文本来做到这一点,但现在问题是我的代码检测到页面加载时的空表(并在用户执行搜索之前显示“无数据”消息)。我宁愿在点击搜索按钮后显示文本。

这是我到目前为止所做的:

$("#account-grouping table tbody").each(function() {
if($.trim($(this).text()).length == 0)
{
var text = $.trim($(this).text());
text += "There was no data returned.";

$(".ac-message").text(text);
}
});

如您所见,我检查一个空表,然后在名为.ac-message的div中弹出一条消息。但是,我真的想将此全部附加到搜索按钮的click事件中。

1 个答案:

答案 0 :(得分:1)

您需要将空检查代码放入一个在搜索完成后完成的回调函数。

var updateSearchResults = function(data) {
    if(data.length) { // depending on what format your data
                      // comes back in you may need a different test
        // Do something to populate your table
    } else {
        // Show your empty message
    }
};
$.get("/your/search/path", { "s": userSearch }, updateSearchResults);