Jquery自动完成帮助

时间:2011-05-18 20:20:50

标签: jquery autocomplete

好的,这里需要一些帮助。我有一个自动完成设置,可以从具有所有正确信息的数据库中提取。我开始使用对话框,它曾经工作过一次,但之后停了一会儿。有谁知道为什么我的自动填充功能无法在此文件中正确填写?

 function clientJob() {
        showDialog('<p>Enter your Client Job Code</p><input type="text" size="15" name="projectnumber" id="projectnumber" value="" /><br /><input type="button" onclick="isaclientjob()" value="Enter" />');
    } 

    $( document ).ready(    
        function()
        {showDialog('<p>Is this a client job?</p><br /><input type="button" onclick="clientJob()" value="Yes" /> <input type="button" onclick="nonclientJob()" value="No" />');
            } // function
            ) // submit
            $( '[name="projectnumber"]' ).autocomplete({
                source: "job_validate.php",
                minLength: 3
            });
        }
    );

job_validate.php

$output = array();
$job = new job;
$jobs = $job->get_from_db( "`code` LIKE '" . $_GET['term'] . "%' AND `active` = '1'",'code',10 );

foreach ( $jobs as $key => $current)
    {
        $output[$key]['value'] = $current->code . " " . $current->name;
        $output[$key]['id'] = $current->id;
    }

print_r($output);
echo json_encode($output);

查看旧版本并恢复原状,如果我在那里有自动完成功能,它似乎在第一个对话框中正常工作但是一旦我转到下一个对话框就搞砸了。

4 个答案:

答案 0 :(得分:1)

尝试:

       $( '[name="projectnumber"]' ).live('focus',function(){
            $(this).autocomplete({
               source: "job_validate.php",
               minLength: 3
            });
        });

同时删除线条 } //function) //submit

答案 1 :(得分:1)

我注意到您输出$output两次:

print_r($output);
echo json_encode($output);

尝试评论print_r($output);,因为它会将JSON转移回jQuery(因为它不是有效的JSON)。

答案 2 :(得分:1)

我最终只使用了一个对话框并转到不同的功能而不是多个框。感谢大家的帮助。

答案 3 :(得分:0)

如果没有看到job_validate.php中的内容,就很难回答。我会先回到它工作的地方。添加每行代码,看看是什么打破了它,然后检查原因。