AJAX Live Keyup搞砸了搜索

时间:2018-07-18 17:55:51

标签: javascript css arrays ajax

此特定代码对学生姓名执行实时AJAX搜索。它适用于loss_value函数。

当我按下 Backspace 键并加载sess.run()文件时,此脚本正在执行AJAX。

我不希望此功能仅对字母起作用。

keyup

这是我到目前为止所学到的所有知识,因此,如果还有其他方法可以这样做,将非常有帮助。谢谢。

1 个答案:

答案 0 :(得分:0)

尝试一下:

$(document).ready(function() {

    load_data();

    function load_data(query) {
        $.ajax({
            url: "search.php",
            method: "POST",
            data: {
                query: query
            },
            success: function(data) {
                $('#result').html(data);
            }
        });
    }

    $('#search_text').keyup(function(ev) {
        var searchString = $(this).val();
        if (searchString != '') {
            var letters = /^[A-Za-z]+$/;
            if (searchString.match(letters)) {
                load_data(searchString);
            } else {
                load_data();
            }
        }
    });

});

-编辑-根据您的评论,以下代码将返回一个切片的值;从我们的搜索中删除最后一个字符或无效字符。

$(document).ready(function() {

    load_data();

    function load_data(query) {
        $.ajax({
            url: "search.php",
            method: "POST",
            data: {
                query: query
            },
            success: function(data) {
                $('#result').html(data);
            }
        });
    }

    $('#search_text').keyup(function(ev) {
        var searchString = $(this).val();
        if (searchString != '') {
            var letters = /^[A-Za-z]+$/;
            if (searchString.match(letters)) {
                load_data(searchString);
            } else {
                searchString = searchString.substring(0, searchString.length - 1);
                $('#search_text').val(searchString);
            }
        }
    });

});

-编辑(第三个请求)以下代码将清除您的结果div,因为它是最后一个快捷键确定搜索输入框为空(不包含任何值)。

$(document).ready(function() {

    load_data();

    function load_data(query) {
        $.ajax({
            url: "search.php",
            method: "POST",
            data: {
                query: query
            },
            success: function(data) {

                $('#result').html(data);

            }
        });
    }

    $('#search_text').keyup(function(ev) {

        var searchString = $(this).val();

        if (searchString != '') {

            var letters = /^[A-Za-z]+$/;

            if (searchString.match(letters)) {

                load_data(searchString);

            } else {

                searchString = searchString.substring(0, searchString.length - 1);
                $('#search_text').val(searchString);

            }

        } else {

            $('#result').html('');
        }
    });

});