Php 引导Typeahead不使用动态输入

Php 引导Typeahead不使用动态输入,php,jquery,twitter-bootstrap,Php,Jquery,Twitter Bootstrap,当页面加载时,默认情况下我获取并输入如下内容: <input type="text" class="form-control input-sm productName" id="" placeholder="Search..." /> 默认情况下,这可以很好地处理我的输入,但是在我使用append添加新元素之后,它就不再工作了,我如何才能使它与新元素一起工作 我想知道如何用变量发送我在输入中输入的值,因为我现在在服务器端这样做只是一个例子 echo json_编码(数组('hi',

当页面加载时,默认情况下我获取并输入如下内容:

<input type="text" class="form-control input-sm productName" id="" placeholder="Search..." />
默认情况下,这可以很好地处理我的输入,但是在我使用
append
添加新元素之后,它就不再工作了,我如何才能使它与新元素一起工作

我想知道如何用变量发送我在输入中输入的值,因为我现在在服务器端这样做只是一个例子

echo json_编码(数组('hi','hi 2','hi 3','hi 4')

我的意思是如何发送一个像

$query=$\u GET['param']

我希望你能帮助我,谢谢

更新:

 $('#containerProducts').append('<div class="row m-t-5">' +
                                        '<div class="col-sm-offset-2 col-sm-4"><input type="text" class="form-control input-sm productName" id="" placeholder="Search..." /></div>' +
                                '</div>'
                            );
$('#containerProducts')。追加(''+
'' +
''
);

在Javascript中,创建元素时,不会自动将内容绑定到该元素。您应该在自己的函数中隔离typeahead初始化,然后在创建元素时调用它来初始化新元素。例如:

function initTypeahead() {
    // Should probably add code here to only grab elements that are not already initialized
    var elements = $('.productName');
    $.get('../search_product.php', function(data){
        $(elements).typeahead({ source: data });
    }, 'json');
}
然后,当您初始化页面时,您将调用它来初始化初始元素

$(document).ready(function() {
    initTypeahead();
});
如果添加新元素,将再次调用它:

$('#containerProducts').append('<div class="row m-t-5">' +
    '<div class="col-sm-offset-2 col-sm-4"><input type="text" class="form-control input-sm productName" id="" placeholder="Search..." /></div>' +
    '</div>'
);
initTypeahead();
$('#containerProducts')。追加(''+
'' +
''
);
initTypeahead();

在Javascript中,创建元素时,不会自动将内容绑定到该元素。您应该在自己的函数中隔离typeahead初始化,然后在创建元素时调用它来初始化新元素。例如:

function initTypeahead() {
    // Should probably add code here to only grab elements that are not already initialized
    var elements = $('.productName');
    $.get('../search_product.php', function(data){
        $(elements).typeahead({ source: data });
    }, 'json');
}
然后,当您初始化页面时,您将调用它来初始化初始元素

$(document).ready(function() {
    initTypeahead();
});
如果添加新元素,将再次调用它:

$('#containerProducts').append('<div class="row m-t-5">' +
    '<div class="col-sm-offset-2 col-sm-4"><input type="text" class="form-control input-sm productName" id="" placeholder="Search..." /></div>' +
    '</div>'
);
initTypeahead();
$('#containerProducts')。追加(''+
'' +
''
);
initTypeahead();

你的代码在哪里?你在哪里用
prepend
添加新元素?@JeremyHarris我更新了信息,该代码在一个函数中。当我点击按钮“Add+”时,该函数运行。你的代码在哪里?你在哪里用
prepend
添加新元素?@JeremyHarris我更新了信息,这段代码是在一个函数中运行的,当我点击一个按钮“Add+”谢谢,我会尝试这个解决方案,我会告诉你如果这个方法有效,我想知道如何获取输入值,将其保存到一个变量中,并使用phpIs not working
servicios.js:43 Uncaught TypeError:$(…).typeahead不是一个函数
,这是行
$(elements).typeahead({source:data})
在servicios.js文件之前是否包含typeahead?是的,它包含在该文件之前谢谢,我将尝试此解决方案,我将告诉您,如果这样做有效,我想知道如何获取输入值以将其保存到变量中,并使用phpIs not working
servicios.js:43 Uncaught TypeError:$(…).typeahead不是一个函数
,这是行
$(elements).typeahead({source:data})
在servicios.js文件之前是否包含typeahead?是的,它包含在该文件之前