jquery搜索自动完成只能工作一次

时间:2016-12-21 21:27:03

标签: jquery laravel autocomplete

我正在使用Laravel框架。对于我的feed视图,我有一个jquery函数来自动完成我的searchinput。在我发送加载具有不同数据的相同Feed的请求后,相同的功能不再起作用。所以它基本上只在第一次工作正常,但第二次没有做任何事情。在我的.ready函数中:

$("#keyworduni").keyup(function() {
    var keyword = $("#keyworduni").val();
    $.get( "searchuni", { search: keyword } )
        .done(function( data ) {

            $('#resultsuni').show();

            $('#resultsuni').html('');
            var results = jQuery.parseJSON(data);
            $(results).each(function(key, value) {
                $('#resultsuni').append('<div class="itemuni">' + value + '</div>');
            })
            console.log(data);

            $('.itemuni').click(function() {
                var text = $(this).html();
                $('#keyworduni').val(text);
            })

            if($('#keyworduni').val() == ''){
                $('#resultsuni').hide();
            }

        });
});

现在我尝试通过添加$(document).ajaxSuccess(function(){})来解决这个问题。 这将由$ .get触发,但这也不起作用。任何想法如何解决它?

编辑: 这是我得到的错误:

Uncaught SyntaxError: Unexpected token o in JSON at position 1
at JSON.parse (<anonymous>)
at Function.n.parseJSON (jquery-1.12.4.min.js:4)
at Object.<anonymous> (feed.js:176)
at i (jquery-1.12.4.min.js:2)
at Object.fireWith [as resolveWith] (jquery-1.12.4.min.js:2)
at y (jquery-1.12.4.min.js:4)
at XMLHttpRequest.c (jquery-1.12.4.min.js:4)

1 个答案:

答案 0 :(得分:0)

更改行

$("#keyworduni").keyup(function() {

用这个:

$(document).on('keyup', '#keyworduni',function(){

更新

你让这个有点复杂......尝试将你的活动分开“keyup”和“click”

根据我的经验,这些事件触发器不能混合使用。如果你从

开始

$(document).on('keyup', '#keyworduni',function(){

然后你不能在该函数中有其他事件触发器。

如果我错了请有人纠正我