我正在使用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)
答案 0 :(得分:0)
更改行
$("#keyworduni").keyup(function() {
用这个:
$(document).on('keyup', '#keyworduni',function(){
你让这个有点复杂......尝试将你的活动分开“keyup”和“click”
根据我的经验,这些事件触发器不能混合使用。如果你从
开始 $(document).on('keyup', '#keyworduni',function(){
然后你不能在该函数中有其他事件触发器。
如果我错了请有人纠正我