如何在文本框中过滤自动完成结果

时间:2014-03-04 05:13:41

标签: php jquery ajax autocomplete

我创建了一个自动完成ajax搜索网站,该网站自动完成组织名称和地址, 但我希望它验证,当有人搜索组织名称时,地址文本应仅提供自动完成结果 匹配搜索组织名称。

任何人都可以建议我

组织地址ajax:

$addresso=$_GET["term"];
$query=mysql_query("SELECT * FROM sltdb_cddir_content where fulladdress like '%".$addresso."%' AND categories_id=80  order by fulladdress ASC ");
$json=array();
while($display=mysql_fetch_array($query)){
$json[]=array(
'value'=> $display["fulladdress"],
 'label'=>$display["fulladdress"]
 );
 }

组织名称ajax

 $searcho=$_GET["term"];
 $query=mysql_query("SELECT * FROM sltdb_cddir_content where title like '%".$searcho."%'AND categories_id=80  ");
 $json=array();
 while($display=mysql_fetch_array($query)){
 $json[]=array(
 'label'=> $display['title'],
 'value' => $display['title'],
  );
  }

autocomplete jquery:

  jQuery.noConflict();
          jQuery(function(){
              jQuery("#addresso").autocomplete({
                  source:'<?php echo JURI::root().'modules/mod_jomdirectory_search/tmpl/gov-address.php'; ?>',

                  minLength:1
              });
          });

          jQuery.noConflict();
          jQuery(function(){
              jQuery("#searcho").autocomplete({
                  source:'<?php echo JURI::root().'modules/mod_jomdirectory_search/tmpl/gov.php'; ?>',

                  minLength:1
              });
          });

表格:

<input id="searchc" class="ui-autocomplete-input" type="text" name="search" "></input>

注意

我真正想要的是,当有人从组织名称文本框中选择一个值时,地址文本框应该加载与该组织名称相关的自动完成结果。请建议

1 个答案:

答案 0 :(得分:0)

对于组织名称

$searcho=$_GET["term"];
$seachArray = explode(',',$searcho);
$q='';
foreach($seachArray  as $term){
  $q .=" title like '%".trim($searcho)."%'  or ";
}  

$q =substr($q,0 ,-3);
 $query=mysql_query("SELECT * FROM sltdb_cddir_content where ($q) AND categories_id=80  ");
 $json=array();
 while($display=mysql_fetch_array($query)){
   $json[]=array(
    'label'=> $display['title'],
    'value' => $display['title'],
    );
  }

在您的评论后编辑

$searcho=$_GET["term"];
 $query=mysql_query("SELECT * FROM sltdb_cddir_content where title like '%".$searcho."%'AND categories_id=80  ");
 $json=array();
 while($display=mysql_fetch_array($query)){
  $json[]=array(
   'label'=> $display['title'],
   'value' => $display['title'],
   'address' =>$display['fulladdress'],
   );
  }

这将在您的结果中包含地址。现在你必须在你的js中工作,如下所示。

jQuery("#searcho").autocomplete({
                  source:'<?php echo JURI::root().'modules/mod_jomdirectory_search/tmpl/gov.php'; ?>',
                      minLength:1
select: function (event, ui) {
    var address = ui.item.address;
    jQuery("#addresso").val(address);
  }
});

参考 - Jquery autocomplete on select event