Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/367.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
Javascript 从数据库自动完成多个值_Javascript_Jquery_Html_Pdo - Fatal编程技术网

Javascript 从数据库自动完成多个值

Javascript 从数据库自动完成多个值,javascript,jquery,html,pdo,Javascript,Jquery,Html,Pdo,我以前已经完成了这个问题。然而,我有另一个问题。我想让多个自动完成像。 我已经在脚本中包含函数,但仍然不起作用 这是html电子邮件表单代码 <div class="input_container"> <input type="text" id="contact_id" name="sender" onkeyup="autocomplet()" size="95"> <input type="hidden" id="client_id" val

我以前已经完成了这个问题。然而,我有另一个问题。我想让多个自动完成像。 我已经在脚本中包含函数,但仍然不起作用

这是html电子邮件表单代码

   <div class="input_container">
    <input type="text" id="contact_id" name="sender" onkeyup="autocomplet()" size="95">
    <input type="hidden" id="client_id" value="<?php echo $id_client; ?>">
<ul id="contact_list"></ul>
ajax\u电子邮件\u刷新代码

    $keyword = '%'.$_POST['keyword'].'%';
    $cid = $_POST['keyword2'];
    $sql = "SELECT * FROM contact WHERE contact_name LIKE (:keyword) AND id_client = (:cid) ORDER BY contact_id ASC LIMIT 0, 10";
    $query = $pdo->prepare($sql);
    $query->bindParam(':keyword', $keyword, PDO::PARAM_STR);
    $query->execute();
    $list = $query->fetchAll();
    foreach ($list as $rs) {
     // put in bold the written text
     $contact_name = str_replace($_POST['keyword'], '<b>'.$_POST['keyword'].'</b>', $rs['contact_email']);
     // add new option
     echo '<li onclick="set_item(\''.str_replace("'", "\'", $rs['contact_email']).'\')">'.$contact_name.'</li>';
   }
$keyword='%.$\u POST['keyword'].%';
$cid=$_POST['keyword2'];
$sql=“从联系人中选择*,其中联系人的名称如(:关键字)和id\u客户=(:cid)按联系人的顺序\u id ASC限制0,10”;
$query=$pdo->prepare($sql);
$query->bindParam(':keyword',$keyword,PDO::PARAM_STR);
$query->execute();
$list=$query->fetchAll();
foreach($rs){
//在书面文本中加粗
$contact_name=str_replace($_POST['keyword'],''.$_POST['keyword'],$rs['contact_email']);
//添加新选项
echo'
  • 。$contact\u name.
  • ”; }
    我不确定我是否正确理解了您要找的内容。我已经包括了一个例子,将帮助您开始。我所包含的计时器是为了最小化您将要执行的ajax请求量。它不是在每次击键后请求,而是在最后一次击键后等待250毫秒来运行ajax

    var object=[{'key':'value1'},{'key':'value2'}];
    无功定时器;
    函数自动完成(元素){
    清除超时(计时器);
    计时器=设置超时(函数(){
    var options=element.nextElementSibling;
    options.innerHTML='';
    对于(变量i=0;i
    
    
    我不确定我是否正确理解了你在找什么。我已经包括了一个例子,将帮助您开始。我所包含的计时器是为了最小化您将要执行的ajax请求量。它不是在每次击键后请求,而是在最后一次击键后等待250毫秒来运行ajax

    var object=[{'key':'value1'},{'key':'value2'}];
    无功定时器;
    函数自动完成(元素){
    清除超时(计时器);
    计时器=设置超时(函数(){
    var options=element.nextElementSibling;
    options.innerHTML='';
    对于(变量i=0;i
    
    
    到底是什么问题?自动完成功能不显示。如果我只输入一个值(contact_id),它就可以工作,那么您希望自动完成也可以用于第二个输入吗?是的,两个输入同时工作,因为id_客户端是隐藏类型。如果我没弄错,希望您从自动完成中选择一个项目,它会将它设置为两个输入的值?到底是什么问题?自动完成不会显示。如果我只输入一个值(contact_id),它会工作,那么你希望自动完成也能为第二个输入工作吗?是的,两个输入同时工作,因为id_客户端是隐藏类型的,所以如果我没弄错,希望如果你从自动完成中选择一个项目,它会将其设置为两个输入的值?
        $keyword = '%'.$_POST['keyword'].'%';
        $cid = $_POST['keyword2'];
        $sql = "SELECT * FROM contact WHERE contact_name LIKE (:keyword) AND id_client = (:cid) ORDER BY contact_id ASC LIMIT 0, 10";
        $query = $pdo->prepare($sql);
        $query->bindParam(':keyword', $keyword, PDO::PARAM_STR);
        $query->execute();
        $list = $query->fetchAll();
        foreach ($list as $rs) {
         // put in bold the written text
         $contact_name = str_replace($_POST['keyword'], '<b>'.$_POST['keyword'].'</b>', $rs['contact_email']);
         // add new option
         echo '<li onclick="set_item(\''.str_replace("'", "\'", $rs['contact_email']).'\')">'.$contact_name.'</li>';
       }