您现在的位置是:首页 > 教程 > 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代码号建议修改程序
本文标签:
很赞哦! ()
随机图文
-
ecshop首页发货查询里显示收货地址收货人的方法
1、修改 index.php 的 index_get_invoice_query() 函数部分;2、然后修改模板文件 library/invoice_query.lbi3、以上方法是完全显示收货人的全称,如果想要以“王**”、“李**”的形式来显示的话,继续进行下面修改 -
ecshop解决transport.js和jquery的冲突方法
在page_header.lbi文件的最后面添加下面的代码即可,经IETester测试后,ie6及以上都可行。注:**为大写O-N-S,去掉中间的两个-,被屏蔽了,无语。先声明一下,这不是我自创的 -
ecshop自定义导航栏下面怎么显示热门搜索
如果你使用的是官方默认模板,只需进行 步操作即可,如果您使用的是其他ECSHOP模板,则可能还需要进行第2步操作。 -
ecshop贺卡的设置和使用方法
今天为大家详细解说一下ECSHOP祝福贺卡设置。在实际的购物过程中,有时候购买的商品是送给朋友的礼物,可能这个商品就不经过自己的手而是直接发个朋友。
留言与评论 (共有 条评论) |