Php ajax调用后自动完成不工作
嗨,伙计们,我正在尝试编写一个标题匹配器,我让它工作了,但当ajax调用发出时,它就不再工作了。下面是我的代码:Php ajax调用后自动完成不工作,php,jquery,Php,Jquery,嗨,伙计们,我正在尝试编写一个标题匹配器,我让它工作了,但当ajax调用发出时,它就不再工作了。下面是我的代码: <script type="text/javascript" src="jquery.autocomplete.js"></script> <link rel="stylesheet" type="text/css" href="jquery.autocomplete.css" /> <script type="text/j
<script type="text/javascript" src="jquery.autocomplete.js"></script>
<link rel="stylesheet" type="text/css" href="jquery.autocomplete.css" />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
$(document).ready(function()
{
$(".course").autocomplete("look_me_up.php",
{
width: 260,
matchContains: true,
mustMatch: true,
selectFirst: false
});
$(".course").result(function(event, data, formatted)
{
$(this).next(".course_val").val(data[1]);
});
});
我假设jquery出现问题是因为它试图更新从ajax请求中提取的值?我正在努力让它工作,所以任何帮助都将不胜感激。这似乎是动态元素创建的问题 您已经加载了一些
course
元素,并在这些元素上初始化了autocomplete,之后您似乎要用新元素替换这些元素。在这里,您没有初始化新元素的自动完成
解决方案是为动态添加的元素初始化自动完成
function createCourse(els){
els.autocomplete("look_me_up.php", {
width: 260,
matchContains: true,
mustMatch: true,
selectFirst: false
});
els.result(function(event, data, formatted){
$(this).next(".course_val").val(data[1]);
});
}
$(document).ready(function() {
createCourse($(".course"))
});
function checks() {
$.ajax({
type : "POST",
url : "get_data.php",
data : "function="+"get_text",
success : function(msg) {
$(update_me).html(msg);
createCourse($(".course", update_me))
}
});
}
改变
$(文档).ready(函数()
到
$(文档).ajaxComplete(函数()
还有宾果:)
$(document).ready(function()尝试使用它,
update\u me
的值是什么?是包含课程
元素的容器元素吗?是的,它应该是$(document).ready(function())但是我更改了它,忘记了将其更改回“更新我”更新了一个表,并用指定的文本框填充该表
应该在其他脚本完成此操作之前完成,但仍然没有成功:-(这正是我所需要的。很抱歉,回复太晚,也谢谢你的描述。现在我明白了这个问题,希望我不需要问那么多愚蠢的问题
function checks()
{
$.ajax({
type : "POST",
url : "get_data.php",
data : "function="+"get_text",
success : function(msg)
{
$(update_me).html(msg);
}
});
}
function createCourse(els){
els.autocomplete("look_me_up.php", {
width: 260,
matchContains: true,
mustMatch: true,
selectFirst: false
});
els.result(function(event, data, formatted){
$(this).next(".course_val").val(data[1]);
});
}
$(document).ready(function() {
createCourse($(".course"))
});
function checks() {
$.ajax({
type : "POST",
url : "get_data.php",
data : "function="+"get_text",
success : function(msg) {
$(update_me).html(msg);
createCourse($(".course", update_me))
}
});
}