按 post 标题搜索 wordpress 无需刷新

Search by post title wordpress without reflesh

我想在不刷新页面的情况下按标题创建 wordpress 搜索。当在搜索中键入超过 3 个符号时,必须显示新结果。我有以下形式的输入:

<form id="searchForm">
<input id="newsSearch" name="newsSearch" type="text" name="newsSearch" placeholder="Для отображения ленты по определенной компании введите ее название или тикер в это поле">
</form>

但是当我输入时 - 输入的值没有改变。如果我无法获得 input.value.length,我如何在输入 3 个符号后搜索帖子?另外,如何在不刷新页面的情况下进行搜索?我知道可以用 ajax 来完成,但我得到了这段代码,但它什么也没做,提交后页面仍在重新加载:

<script>
    $('#searchForm').submit(function(e) {

        e.preventDefault(); // prevent from submitting form directly

        $.ajax({
            url: '<?php echo admin_url('admin-ajax.php'); ?>',
            method: 'post',
            data: $("#searchForm").serializeArray() // convert all form data to array (key:value)
        })
            .done(function(response){
                alert('ok'); // show the response
                $("#searchForm").reset(); // reset the form
            })
            .fail(function(error){
                alert(error); // show the error.
            });
    })

</script>

您的输入值没有改变,因为您正在监听表单上的 'submit' 事件。您应该在 'input' 事件的输入元素上创建一个侦听器。

$('#newsSearch').on('input', function(e) {...

您应该在内部创建一个检查,如果值小于 3 个符号,函数将 return 不执行任何操作。