从输入中删除最后一个字符时,Div不会刷新

时间:2015-03-12 07:57:59

标签: javascript php jquery html

我目前正在使用onkeyup="Search();"这样的搜索功能:

<input type="text" id="IDsearch" onkeyup="Search()" autofocus>

它的功能是:

<script type="text/javascript">
    function Search() {
        var inputVal = $('#IDsearch').val();

        $.post('searchTest.php', {postname: inputVal},
        function (data) {
            $('#IDsearch').val(data)
        });
        $('#divRefresh').load('searchTest.php');
    }

</script>

是的,我使用相同的文件将值放在php $_SESSION['value']; AND中以存储新的div数据。这没问题,它确实有效。它很好。

但是当我从搜索框中删除我的最后一个字符时,我需要按两次退格键才能让我的div更新。

说我有一个带有“a”的文本框。我将按退格键更新a,不会发生任何事情。一旦我再次按退格键,我的div将更新并再次发布所有原始值。

我错过了一些明显的东西吗? 它应该以http://www.datatables.net/的方式工作。

之前我曾就此计划提出过一个问题,但不是关于这个问题,我希望这不是问题。

2 个答案:

答案 0 :(得分:1)

我会经历$("#IDsearch").keyup(function(){});

使用该功能尝试使用该代码并且无效,即使使用$("#divRefresh").html(theInputOfYours);我提到的另一种方式也能正常工作,即使使用退格键也是如此。

$(document).ready(function() {
    $("#IDsearch").keyup(function() {
        var value = $(this).val();
        var posting = $.post("your_php_file.php", {val: value})
        posting.done(function( data ) {
            $( "#divRefresh" ).html(data);
        });
    });
});

发布是我可以给出的一个非常基本的例子,我用$ .ajax()函数

答案 1 :(得分:0)

不幸的是,keyup / keypress / keydown的行为有时会很棘手,尤其是在不同的浏览器中。

确保跟踪更改的可能解决方案是通过以您指定的时间间隔运行的setInterval函数跟踪更改的侦听器。