1.页面代码:
引用
<td>
<input class="input_brand" type="text" id="suggest13" onkeyup="doViewBrand()" onfocus="doViewBrand()" value="" size="30" autocomplete="off"/>
<input type="hidden" id="brandId" name="product.prodBrandId" value=""/>
<input type="hidden" id="brandName" name="product.prodBrandName" value=""/>
<div id="inputBrand" class="selSearch" onMouseOut="d_1(this,event)"></div>
</td>
2.js 移开事件(onMouseOut)
引用
<script type="text/javascript">
function d_1(obj,e){
var e = window.event || e, relatedTarget = e.toElement || e.relatedTarget;
while(relatedTarget && relatedTarget != obj)
relatedTarget = relatedTarget.parentNode;
if(!relatedTarget){
inputBrand.style.display="none";
showAllSelect();
}
}
//输入input时调用ajax 读取下拉数据列表
function doViewBrand(){
var send_mini=$("#inputBrand");
$.ajaxSetup({async:false}); //设置ajax 异步
$.ajax({
type: "post",
url: "/product/getBrandByInput.action",
data: "brand.name=" + $("#suggest13").val(),
success: function(msg){
send_mini.empty();
send_mini.append(msg);
}
});
$.ajaxSetup({async:true}); //设置ajax 同步
inputBrand.style.display="block";
hideAllSelect();
}
//显示select下拉 IE6 下弹出层上显示下拉问题
function showAllSelect(){
var selects=document.getElementsByTagName("SELECT");
for(var i=0;i <selects.length;i++){selects[i].style.visibility="visible";}
}
//隐藏select下拉 IE6 下弹出层上显示下拉问题
function hideAllSelect(){
var selects=document.getElementsByTagName("SELECT");
for(var i=0;i <selects.length;i++){selects[i].style.visibility="hidden";}
}
function doClick(paramId,ParamName){
if(paramId !=""){
$("#suggest13").val(ParamName);
$("#brandId").val(paramId);
$("#brandName").val(ParamName);
}else{
$("#suggest13").val("");
$("#brandId").val("");
$("#brandName").val("");
}
inputBrand.style.display="none";
showAllSelect();
}
function doOnMouseOut(){
inputBrand.style.display="none";
showAllSelect();
}
</script>
3.下拉显示内容
引用
<ul id="show" class="selOption" >
<#if brands?? && brands?size gt 0>
<#list brands?if_exists as brand>
<li onclick="doClick('${(brand.id)!}','${(brand.name)!}')" onMouseOver="this.className='s1'" onMouseOut="this.className='s2'">${(brand.name)}</li>
</#list>
<#else>
<li onclick="doClick('','')" onMouseOver="this.className='s1'">无记录</li>
</#if>
</ul>
4. css
引用
#input_brand{
background:#F2F1D7;
border:0px solid #000000;
display:none;overflow:hidden
}
#show li.s1{ border:1px solid #ff9900; background:#EFEFDA;}
.selSearch{float:left;background:#fff;border:1px;border-left:0;overflow:auto;display:none}
.selOption{z-index:9999;position:absolute;margin-left:0px;top:227px;width:185px;
background:#fff;border:1px solid #3e99d4;overflow:auto; height :150px;
line-height:14px;}
分享到:
相关推荐
实现一个在编辑框input下根据输入内容显示匹配内容的下拉列表。 实现思路很简单: 将匹配的内容放在一个div中,input输入时把匹配内容的div显示在input下面。 在做的过程中遇到一个棘手的问题: input的onblur中隐藏...
input只能输入数字英文字母汉字
意思就是给这个隐藏域赋值就相当于用丑陋的select下拉列表得到一个值是同理的。下拉列表的功能无非也就是传一个值提交过去。 此form select下拉控件是使用div+jq+css实现,其表单功能正常使用,能正常传值。根据需要...
input 级联下拉列表 input 级联下拉列表 input 级联下拉列表 input 级联下拉列表 input 级联下拉列表
js实现input输入框输入信息后出现下拉选择框,下拉框的数据源可以使根据输入的值从数据库中动态获取
js实现的可下拉可输入input框 会自动检测输入的值在select中寻找对应选项
于是尝试了用input+select来实现,结果如下: 具体代码及演示地址:www.homdian.com/test.aspx 这种方法其实是在下拉框上压一个文本框,能够实现输入,也能够实现下拉框的选择。但根据输入值用用异步的方式绑定...
有好多人会遇到注册或者登陆密码时要求只能入数字或者字母,不能出现其他符号什么的,我这是在用apicloud工具开发遇到的小问题,所以发出来给其他人可能会遇到这个问题的人
jquery实现input搜索输入关键词后自动筛选相关信息效果
一款美化表单下拉列表、复选框等的jquery combobox插件实例 30.站长必备jquery实现combox自动筛选,高亮显示功能 4)菜单 1.jquery+CSS超炫丽横向多级滑动导航菜单 2.jQuery+CSS漂亮蓝色三级菜单下载 3....
本文给大家分享的是使用jQuery实现的房HTML5中的一个好看的input框很好看的下拉列表--datalist,兼容性非常不错,这里推荐给大家,有需要的小伙伴可以参考下。
输入框组默认是div.input-group。接下来通过本文给大家介绍bootstrap下拉列表与输入框组结合的样式调整,感兴趣的朋友一起看看吧
在vue的实际开发过程中,我们如何将以选中的值直接渲染到页面中,这次主要说的是多选框和下拉列表的实现: 测试多选渲染: <div> <input type=checkbox name=hobby :value=item.id :checked=loopsss.indexOf...
js实现input限制输入字符(字节)数多出的自己自动去掉
javascript 是一种web开发重要工具! 这个方法可以让你实现:input只能输入数字和字母
typeahead + tagsinput 实现标签自动补全。添加技能标签,并且实现标签自动补全
可输入文字的下拉列表 可输入文字的下拉列表 可输入文字的下拉列表 可输入文字的下拉列表
DIV+CSS+JS仿Select下拉表单 下拉表单
这是一款jQuery实现的网站搜索框经常用到的文本框input输入关键词后自动补全筛选相关信息的js代码。
解决Flex在非主应用程序中,textarea和input不能输入中文的 方法。