Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/478.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP作为源代码的Jquery自动完成不起作用_Php_Javascript_Jquery_Json - Fatal编程技术网

使用PHP作为源代码的Jquery自动完成不起作用

使用PHP作为源代码的Jquery自动完成不起作用,php,javascript,jquery,json,Php,Javascript,Jquery,Json,我是jQuery新手,尝试在文本框中设置一个简单的自动完成。我的代码如下: HTML: <link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" /> <script src="http://code.jquery.com/jquery-1.9.1.js"></script> <script src="http://code

我是jQuery新手,尝试在文本框中设置一个简单的自动完成。我的代码如下:

HTML:

<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
<link rel="stylesheet" href="/resources/demos/style.css" />

<script>
$(function() {
    $( "#searchstr" ).autocomplete(
    {
         source:'searchjson.php',
    })

});
</script>

<?php 
include('code.php') ;
show_header();
?>

<title>CodeLib</title>
</head>
<body>

    <div><h3>Welcome to CodeLib.com.au</h3><div>
    <h4>Articles</h4>

    <form action="index.php" method="get">
        <div class="ui-widget" >Search:(4 chars min) <input name="searchstr" id="searchstr" type="text" /></div>
</form>
</body>
但问题是,当我将源代码分配给php代码时,我没有得到任何信息。有人能给我一个线索吗


非常感谢。

您是否收到任何javascript错误

使用jQuery尝试使用

$(document).ready(function() {
    .. Your autocomplete code here
});
而不是
$(函数(){})


这样,
$(“#searchstr”)
元素就存在了

在源代码部分添加一个尾随逗号(特别是在使用IE的情况下)。试试这个,它可能会起作用:

<script>
$(function() {
    $( "#searchstr" ).autocomplete(
    {
         source:'searchjson.php' //No comma at the end of this line
    })

});
</script>

$(函数(){
$(“#searchstr”).autocomplete(
{
source:'searchjson.php'//此行末尾没有逗号
})
});

PSA:mysql*
函数是。不建议编写新代码,因为这样会阻止您将来升级。请发布searchjson.php返回的内容您知道它在什么时候出错吗?它是否成功地将AJAX请求发送到PHP代码?PHP代码是否有任何错误?如果您只是在html代码中添加了一个提交按钮,那么它是否如预期的那样工作?我想我发现了问题,但仍然不清楚原因。当我调用searchjson.php时,它会自动在末尾添加一个名为“term”的查询字符串。但我在检查“searchstr”参数。所以我用term替换了searchstr,它工作得很好。但这怎么可能发生呢??似乎是jQuery defalut。工作样本在$(function(){})上可用;和$(document.ready(function(){})-选项的作用完全相同。
$(document).ready(function() {
    .. Your autocomplete code here
});
<script>
$(function() {
    $( "#searchstr" ).autocomplete(
    {
         source:'searchjson.php' //No comma at the end of this line
    })

});
</script>