autocomplete.js的使用(2):自动输入时,出现下拉选择框
<!--自动输入文本值所需的jquery文件-->
<script src="/js/jquery-1.8.3.min.js" type="text/JavaScript"></script>
<script type="text/javascript" src="../AjaxJs/jQueryAutocompletePlugin-master/jquery.autocomplete.min.js"></script>
<link rel="stylesheet" type="text/css" href="../AjaxJs/jQueryAutocompletePlugin-master/jquery.autocomplete.css"/> <script language="JavaScript" type="text/JavaScript"> //以下是处理IE中indexOf不兼容的定义方法
if(!Array.indexOf)
{
Array.prototype.indexOf = function(obj){ for(var i=0; i<this.length; i++){ if(this[i]==obj){return i;}
}
return -1;citynames
}
} //添加节点:开始
$(document).ready(function(){ /*根据输入内容动态加载:*/ //citynames :开始
$("#citynames").autocomplete("/tools/TicketPlan/view/InloadMiojiCity.asp",{
minChars: 1,//自动完成激活之前填入的最小字符
max:100,//列表条目数
width: 500,//提示的宽度
mustMatch: true,
scrollHeight: 500,//提示的高度
matchContains: true,//是否只要包含文本框里的就可以
autoFill:true,//自动填充
scroll:true,
dataType: "json",
pagingMore:true,
parse: function(data) {
return $.map(data, function(row) {
return {
data: row,
value: row.id,
result: row.cname
}
});
},
formatItem: function(data, i, max) {//格式化列表中的条目 row:条目对象,i:当前条目数,max:总条目数
return data.cname;
},
formatMatch: function(data, i, max) {//配合formatItem使用,作用在于,由于使用了formatItem,所以条目中的内容有所改变,而我们要匹配的是原始的数据,所以用formatMatch做一个调整,使之匹配原始数据
return data.cname;
},
formatResult: function(data) {//定义最终返回的数据,比如我们还是要返回原始数据,而不是formatItem过的数据
return data.cname;
}
}).result(function(event,data,formatted){
$("#citynames").val('');
var SelectHtml="<div style='overflow:hidden;margin-right:8px;margin-bottom:8px;background-color: #eaf9fe;border: 1px solid transparent;display: flex;justify-content: center;float:left;padding: 5px;border-radius: 2px;'><select class='mdd_sel' style='float: left;width: 50px;color: rgb(102, 140, 197);'>";
SelectHtml+="<option value='"+0+"'>不过夜</option>";
for(var j=1;j<=30;j++)
{
if(j==1){
SelectHtml+="<option selected value='"+j+"'>"+j+"晚</option>";
}else{ SelectHtml+="<option value='"+j+"'>"+j+"晚</option>";
}
}
SelectHtml+="</select>"; $("#DivCityNames").append(''+SelectHtml+''+'<p id=p'+data.id+' class="creat_p"><span id="'+data.id+'" class="creat_span">'+data.cname+'</span><a href="javascript:;" style="line-height:28px;color:#668cc5;position:absolute;right:-3px;top:-1px;width:20px;height:30px;text-align:center;cursor:pointer;font-size:10px;">X</a></p></div>'); });
//citynames :结束 /*删除城市:开始*/
$('.span_box a').live('click',function(){
$(this).parent().parent().remove();
});
/*删除城市:结束*/ /*一次加载、多次使用:*/ //$.ajax({
// url:"/tools/TicketPlan/view/InloadMiojiCity.asp",
// type:"get",
// dataType:"json",
// cache: false,
// success:function(result){
//
// var data =result; //citynames :开始
// $("#citynames").autocomplete(data,{
// minChars: 1,//自动完成激活之前填入的最小字符
// max:100,//列表条目数
// width: 500,//提示的宽度
// mustMatch: true,
// scrollHeight: 500,//提示的高度
// matchContains: true,//是否只要包含文本框里的就可以
// autoFill:false,//自动填充
// scroll:true,
// pagingMore:true,
// formatItem: function(data, i, max) {//格式化列表中的条目 row:条目对象,i:当前条目数,max:总条目数
// return data.cname;
// },
// formatMatch: function(data, i, max) {//配合formatItem使用,作用在于,由于使用了formatItem,所以条目中的内容有所改变,而我们要匹配的是原始的数据,所以用formatMatch做一个调整,使之匹配原始数据
// return data.cname + data.ename;
// },
// formatResult: function(data) {//定义最终返回的数据,比如我们还是要返回原始数据,而不是formatItem过的数据
// return data.ename;
// }
// }).result(function(event,data,formatted){
// $("#citynames").val('');
// var SelectHtml="<div style='overflow:hidden;margin-right:8px;margin-bottom:8px;background-color: #eaf9fe;border: 1px solid transparent;display: flex;justify-content: center;float:left;padding: 5px;border-radius: 2px;'><select class='mdd_sel' style='float: left;width: 50px;color: rgb(102, 140, 197);'>";
// SelectHtml+="<option value='"+0+"'>不过夜</option>";
// for(var j=1;j<=30;j++)
// {
// if(j==1){
// SelectHtml+="<option selected value='"+j+"'>"+j+"晚</option>";
// }else{
//
// SelectHtml+="<option value='"+j+"'>"+j+"晚</option>";
// }
// }
// SelectHtml+="</select>";
//
// $("#DivCityNames").append(''+SelectHtml+''+'<p id=p'+data.id+' class="creat_p"><span id="'+data.id+'" class="creat_span">'+data.cname+'</span><a href="javascript:;" style="line-height:28px;color:#668cc5;position:absolute;right:-3px;top:-1px;width:20px;height:30px;text-align:center;cursor:pointer;font-size:10px;">X</a></p></div>');
//
// });
//citynames :结束
// }
//
// }); /*自动选择城市:结束*/ }) /*获取城市天数:开始*/
function CityNamesDays()
{
var cityarray=[];
var dayids=[];
var citynames=[]; /*自动选择城市:开始*/
var Input_cityids=document.getElementById('cityids');
var Input_dayids=document.getElementById('dayids');
var input_wanshu=0;
for (var i = 0; i < $("#DivCityNames").children("div").length;i++)
{
var day= $("#DivCityNames").children("div").eq(i).find("select").val();
//获取选中天数
dayids.push(day);
input_wanshu= input_wanshu+parseInt(day);
var city= $("#DivCityNames").children("div").eq(i).find("p").children("span").attr("id");
var cityname= $("#DivCityNames").children("div").eq(i).find("p").children("span").text();
cityarray.push(city);
citynames.push(cityname);
}
Input_dayids.value=dayids.join(",");
Input_cityids.value=cityarray.join(",");
document.getElementById('tz_visitcity').value=citynames.join(",");
document.getElementById('nights').value=input_wanshu; }
/*获取城市天数:结束*/ //添加节点:结束 </script>
autocomplete.js的使用(2):自动输入时,出现下拉选择框的更多相关文章
- autocomplete.js的使用(1):自动输入时,出现下拉选择框
autocomplete.js可以实现自动输入文本值,并出现下拉框 js引用:所需要的autocomplete文件需要在网站中自行下载. <!--自动输入文本值所需的jquery文件--> ...
- jquery.chosen.js下拉选择框美化插件项目实例
由于之前使用的bootstrap-select插件是建立在bootstrap基础上的,实际使用到项目中的时候,与我们使用的ace-admin(基于bootstrap)存在样式冲突,导致下拉框的样式发生 ...
- 原生js实现一个自定义下拉单选选择框
浏览器自带的原生下拉框不太美观,而且各个浏览器表现也不一致,UI一般给的下拉框也是和原生的下拉框差别比较大的,这就需要自己写一个基本功能的下拉菜单/下拉选择框了.最近,把项目中用到的下拉框组件重新封装 ...
- jQuery搜索框自动补全功能插件实现-autocomplete.js
最近用nodeclub实现股票的输入关键字自动补全股票信息进行搜索功能,原先用jQuery-ui,结果jQuery-ui库太大,所以考虑用其他插件,最终选择使用autocomplete.js,控件简单 ...
- js实现文本框或文本域在用户输入时(oninput)触发事件,操作元素
写在前面:给不同的文本框设定同样的效果,当文本框没有内容输入时,‘下一步’按钮不可用且透明度为0.5.当有内容输入时(并不是获得焦点时focus),‘下一步’按钮状态可用, 且透明度为1. <s ...
- jQuery UI Autocomplete是jQuery UI的自动完成组件
支持的数据源 jQuery UI Autocomplete主要支持字符串Array.JSON两种数据格式. 普通的Array格式没有什么特殊的,如下: ? 1 ["cnblogs" ...
- jquery autocomplete实现读取sql数据库自动补全TextBox
转自我本良人 原文 jquery autocomplete实现读取sql数据库自动补全TextBox 项目需要这样子一个功能,其他部门提的意见,只好去实现了哦,搞了好久才弄出来,分享一下. 1.前台页 ...
- jquery.autocomplete.js 插件的自定义搜索规则
这二天开始用jquery.autocomplete这个自动完成插件.功能基本比较强大,但自己在实际需求中发现还是有一处不足!问题是这样:当我定义了一个本地数据JS文件时,格式为JSON式的数组.如下: ...
- Jquery autocomplete.js输入框联想补全功能
Jquery autocomplete.js插件下载地址:http://files.cnblogs.com/files/jinzhiming/autocomplete.rar 有两种用法,一种是直接使 ...
随机推荐
- 本地RUN Page时报无法显示该网页
经检查,是我本地安装了浏览器广告屏蔽插件引起的,关闭该插件即可.
- java实现的18位身份证格式验证算法
公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成.排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码.1.地址码表示编码对象常住户口所在县(市. ...
- BootStrap使用
BootStrap简单使用 <深入理解BootStrap>这本书对BootStrap进行了全面的讲解包括设计思想以及源码解析对没有接触过的很有帮助 BootStrap可以说是最简单的一类框 ...
- Javascript-自己定义对象转换成JSon后怎样再转换回自己定义对象
man是自己定义的对象,使用var tim = JSON.stringify(man); var newman=JSON.parse(tim)后newman的类型是"object" ...
- 用VSTS进行网站压力测试
情境压力测试即主体向被观察者布置一定任务和作业,借以观察个体完成任务的行为.工作样本测验.无领导小组讨论都可算作情境压力测验. 在软件工程中,压力测试是对系统不断施加压力的测试,是通过确定一个系统的 ...
- MSMQ向远程服务器发送消息----错误总结
一:路径错误(Path)错误 如果向远程服务器发送消息,请使用格式名的形式,如: FormatName:Direct=TCP:121.0.0.1\\private$\\queueFormatName: ...
- sql语句学习(第二季
union操作符 -- 4.查询平均成绩小于60分的同学的学生编号和学生姓名和平均成绩 -- (包括有成绩的和无成绩的) 两个表联查的时候,有时候一个表在另一个表没有数据,即使使用了join,还是nu ...
- 深入理解java虚拟机,并发方面
1 1,java线程模型,和内存模型像似,但没有很强硬的关联 2,工作内存和主内存的交互操作,lock,unlock,read,load,use,assign,store,write 2,volati ...
- keepalive配置db层的ha的一些注意点
具体db是那种都一样 db先做好replica,可以用自己带的,或者drbd的磁盘复制 db和keepalived必须在同一主机 keepalived里面的rs必须只有一个(否则,做不了主从,理论上会 ...
- [DP题]采药
1775:采药 总时间限制:1000ms内存限制:65536kB 描述 辰辰是个很有潜能.天资聪颖的孩子,他的梦想是称为世界上最伟大的医师.为此,他想拜附近最有威望的医师为师.医师为了判断他的资质,给 ...