最近有项目要实现界面中业务类型文本框能自动补全,并且业务类型文本框随着ip地址的改变而改变,即级联,级联并不复杂,难的是在autocomplete插件中实现级联,因为autocomplete只初始化第一次,后面调用初始化方法也只会在前一次的下拉选项中添加新的选项,无法实现级联,查过很多资料,网上说flexselect能够实现级联,但是flexselect对高版本1.7的jQuery不支持自动补全,所以放弃了flexselect方案,最后,这个问题经过我的多次努力终于得到了解决,希望能帮助到其他的遇到同样问题的人。
步骤:
1.引入js,css文件,样式。
<script type="text/javascript" src="js-libs/jquery/autocomplete/jquery.autocomplete.js"></script>
<link rel="stylesheet" type="text/css" href="js-libs/jquery/autocomplete/css/jquery.autocomplete.css">
<style type="text/css">
.ajaxInput{
background-position: 0px center;
margin-top: 5px; padding-left: 25px;
background-image:url(theme/default/images/ajaxInput.gif);
background-repeat: no-repeat;
width:170px;
height:20px;
}
</style>
2.加入ip地址,业务类型文本框。
<th><span class="star">* </span>IP:</th>
<td><s:textfield id = "ip" name="queryform.ip" cssClass="inputs" />
<th><span class="star">* </span>业务类型:</th>
<td id="busiTypeTd"> <input type="text" id="busiType" name="queryform.busiType" class="ajaxInput" title="输入关键字进行查询,双击显示前10条记录"/>
</td>
3.js编码实现级联。
$(function(){
$('#ip').change(function(){
cu.post({
url:'perf/performance!getBusiType.action',
data:{
ip:$("#ip").val()
},
success:function(data){
$("#busiType").val('');
busiType = data;
//每次都重新生成dom对象,并初始化autocomplet控件。
var busiTypeDom = $("#busiType").clone();
$("#busiType").remove();
busiTypeDom.appendTo($("#busiTypeTd"));
$("#busiType").autocomplete(busiType,{minChars:0,cacheLength:1,matchContains:true})
.result(function(event,busiType,formatted){
});
index++;
}
});
});
});
注意:js代码中的cu.post方法是公司框架的基础方法,功能是发送ajax异步请求,可以使用jQuery的ajax方法代替。
本人第一次写博客,写得不好不要见惯,有问题可以给我留言,谢谢。
相关推荐
- **jQuery Suggest**: 下拉式自动补全搜索插件。 - **jQuery Autocomplete**: 自动完成搜索插件。 - **jQuery Autocomplete Mod**: 改进版自动完成搜索插件。 - **jQuery Autocomplete by AjaxDaddy**: 基于Ajax的...
- **功能概述**:结合PHP和MySQL实现自动补全。 - **应用场景**:适用于后端基于PHP和MySQL的项目。 **8. quickSearch jQuery Plugin** - **功能概述**:快速搜索插件。 - **应用场景**:适用于需要快速搜索功能的...
- **jQuery Autocomplete Plugin**:另外一种实现自动完成的插件。 以上是jQuery插件的一些典型示例,它们覆盖了文件上传、表单验证、选择框处理、表单基础、时间日期选择以及搜索和评级等功能。这些插件极大地扩展...
- jQuery Autocomplete Mod:改进版的自动完成插件。 - jQuery Autocomplete by AjaxDaddy:基于AJAX的自动完成。 这些只是jQuery插件世界中的一小部分,实际上还有无数的插件适用于各种功能,如图表绘制、滑块...
例如,使用`$.cookie()`存储用户的搜索历史,`$.getJSON()`结合服务器端的搜索建议API,以及`$('input').autocomplete()`实现自动补全功能。 综上所述,构建一个仿招聘网站的"选择地区、选择行业、选择职位"功能,...