您现在的位置是:首页 > 教程 > ecshop商城教程ecshop商城教程

商城ecshop搜索结果滑动下拉显示相关商品的实现方法

雪柳2023-11-14 23:50:28ecshop商城教程已有人查阅

导读所需要的样式我们可以 到style.css里:以下代码需要加到输入框普遍 比如page_header.lbi;在商品少的情况下 我们之间查询 如果多了,ECSHOP模板屋建议修改程序

所需要的样式我们可以 到style.css里:

 /*搜索滑动效果*/ .Menu { position:absolute; top:30px; left:7px; width:150px; height:auto; z-index:1; background:#FFF; border:1px solid #000; display:none; } .Menu2 { position: absolute; left:0; top:0; width: ; height:auto; overflow:hidden; z-index:1; } .Menu2 ul{margin:0;padding:0} .Menu2 ul li{width: ;height:25px;line-height:25px;text-indent:15px;              border-bottom:1px dashed #ccc;color:#666;cursor:pointer;background:#FFF;
    change:expression(
     this.onmouseover=function()
{
       this.style.background="#F2F5EF";
     },
     this.onmouseout=function()
{
       this.style.background="";
     }
    )
   }
input{width:200px} .form{width:200px;height:auto;} .form div{position:relative;top:0;left:0;margin-bottom:5px}

以下代码需要加到输入框普遍 比如page_header.lbi

<script type="text/javascript">   function showAndHide(obj,types,text){     var Layer=window.document.getElementById(obj);     switch(types){    case "show":      if(text!='')   {              Layer.style.display="block";     Ajax.call('search_div.php', 'act=search&text=' + text, changesumResp**e, 'GET', 'JSON');    }    break;    case "hide":      Layer.style.display="none"; }   }   function getValue(obj,str){     var input=window.document.getElementById(obj); input.value=str;   }   function changesumResp**e(res) {     var a='';       for (var i = 0; i < res.content.length; i++)       {         a += "<li onmousedown=getValue('keyword','" + res.content[i].goods_name + "')>" + res.content[i].goods_name + "</li>";    }   // alert(a);    document.getElementById('show_stock').innerHTML = a; }     </script>

我们输入框的代码

<input name="keywords" onkeyup="showAndHide('List1','show',this.value);" onblur="showAndHide('List1','hide');" type="text" id="keyword" value="{$search_keywords|escape}" style=" border:0; margin-left:15px;margin-top:5px; width:130px; height:15px;"/> <div class="Menu" id="List1"> <div class="Menu2"> <ul style="padding:0px; margin:0px;" id="show_stock"> </ul> </div> </div> 

ajax请求php的代码search_div.php

<?php define('IN_ECS', true); require(dirname(__FILE__) . '/includes/init.php'); require(dirname(__FILE__) . '/admin/includes/lib_main.php'); if($_REQUEST['act'] == 'search'){   $keywords = json_str_iconv(trim($_GET['text']));   $sql = "SELECT goods_name,goods_id FROM " . $GLOBALS['ecs']->table('goods')." where goods_name like '%$keywords%'";   $brand_array = $GLOBALS['db']->getall($sql);   foreach($brand_array as $ids =>$value)
  {
$brand_array[$ids]['goods_name'] = sub_str_xaphp($brand_array[$ids]['goods_name'],5);
  }
  make_json_result($brand_array); } function sub_str_xaphp($str, $length = 0, $append = true)
{
 $str = trim($str);
 $strlength = strlen($str);
 if ($length == 0 || $length >= $strlength)
 {
  return $str;
 }
 elseif ($length < 0)
 {
  $length = $strlength + $length;
  if ($length < 0)
  {
$length = $strlength;
        }
 }
 if (function_exists('mb_substr'))
 {
        $newstr = mb_substr($str, 0, $length, EC_CHARSET);
 }
 elseif (function_exists('iconv_substr'))
 {
  $newstr = iconv_substr($str, 0, $length, EC_CHARSET);
 }
 else
 {
  //$newstr = trim_right(substr($str, 0, $length));
  $newstr = substr($str, 0, $length);
 }
 if ($append && $str != $newstr)
 {
  $newstr .= '';
 }
 return $newstr; } ?>

在商品少的情况下 我们之间查询 如果多了,ECSHOP代码号建议修改程序

本文标签:

很赞哦! ()

留言与评论 (共有 条评论)
验证码:

本栏推荐

相关标签