2011-05-18 141 views
0

好的,需要一些帮助。我有一个自动完成设置,从数据库中提取所有正确的信息。我开始使用对话框,它曾经工作过一次,但之后停了一会儿。有没有人看到为什么我的自动完成不会在这个文件中正确填写?Jquery自动完成帮助

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); 

在老版本看去,恢复到它,它似乎工作在第一个对话框中的罚款,如果我有自动完成在那里但一旦我进入下一个对话框,它就会被搞砸了。

回答

0

没有看到job_validate.php中的内容,它会很难回答。我会开始回到工作的地方。添加每行代码以查看破解它的内容,然后检查原因。

+0

@Mike - 编辑您的原始文章并将其包含在其中;阅读评论中的代码是不可能的。 – eykanal 2011-05-18 20:51:28

+0

谢谢你想格式化它,但没有工作 – 2011-05-18 20:52:55

1

尝试:

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

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

+0

是仍然没有回报 – 2011-05-18 21:03:25

+0

编辑我的回应,添加了'焦点'事件的现场功能。没有job_validate.php的工作示例:http://jsfiddle.net/8rsNB/1/ – Mutt 2011-05-19 12:37:42

1

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

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

尝试注释掉print_r($output);,因为它会将JSON传回jQuery(因为它不是有效的JSON)。

+0

谢谢,但我在开始时就把它说明了。对不起,这只是一些错误检查,忘记带走。 – 2011-05-18 21:51:00

+0

@Mike Jones - 你应该更新你的帖子;它在你的例子中。 – 2011-05-18 22:21:11

+1

@Mike Jones - 另外,我注意到你的括号不对齐。你在jQuery示例中丢失了什么? – 2011-05-18 22:23:59

1

我结束了只使用一个对话框,去不同的功能,而不是多个框。感谢大家的帮助。

+0

可能最好把它作为对接受答案的评论而不是新答案。 – 2011-05-20 14:07:19