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 workingservicios.js:43 Uncaught TypeError:$(…).typeahead不是一个函数
,这是行$(elements).typeahead({source:data})
在servicios.js文件之前是否包含typeahead?是的,它包含在该文件之前谢谢,我将尝试此解决方案,我将告诉您,如果这样做有效,我想知道如何获取输入值以将其保存到变量中,并使用phpIs not workingservicios.js:43 Uncaught TypeError:$(…).typeahead不是一个函数
,这是行$(elements).typeahead({source:data})
在servicios.js文件之前是否包含typeahead?是的,它包含在该文件之前