JQuery插件第十八个:高级搜索集成处理
来源:互联网 发布:没谈过恋爱的女生知乎 编辑:程序博客网 时间:2024/05/22 17:34
(function($) { $.fn.AdvSearch = function(options) { var defaults = { searchbtn: "", //搜索按钮, 输入Jquery选择器名称 showSearchbtn: "", //显示或隐藏搜索区域的按钮, 输入Jquery选择器名称 cookieName: "", otherUrl: "" //跳转链接和搜索表单没关系的URL参数 例如: "&sn=1123" } var options = $.extend(defaults, options); var $searchTab = this; //搜索区域id或class var arrIds = new Array(); $searchTab.find("input, select").each(function() { if ($.trim(this.id).length > 0) { arrIds.push(this.id); } }); if (options.showSearchbtn != "") { //自动生成cookieName if ($.trim(options.cookieName).length == 0) { options.cookieName = 'c' + new Date().getTime(); } //Ser 代表高级搜索区是否隐藏变量 var Ser = cookie(options.cookieName); if (Ser == '0' || Ser == null) { $(options.showSearchbtn).attr("alt", "显示搜索框"); $searchTab.hide(); } else { $(options.showSearchbtn).attr("alt", "隐藏搜索框"); $searchTab.show(); } //点击按钮显示隐藏某块区域 $(options.showSearchbtn).click(function() { Ser = cookie(options.cookieName); if (Ser == '0' || Ser == null) { cookadd(options.cookieName, "1"); $(this).attr("alt", "隐藏搜索框"); $searchTab.show(); } else { cookadd(options.cookieName, "0"); $(this).attr("alt", "显示搜索框"); $searchTab.hide(); } }).css({ "cursor": "pointer" }); } //点击搜索按钮,直接指向地址栏链接 $(options.searchbtn).click(function() { var href = "&"; for (var key in arrIds) { var keyid = arrIds[key]; var queryTitle = $("#" + keyid).val(); href += "&" + keyid + "=" + encodeURIComponent(queryTitle); //资料显示服务端用Server.UrlDecode方法解码 } href += options.otherUrl; if (href.length > 1) { window.document.body.innerHTML = ''; window.location.href = href.replace('&&', '?'); } }).css({ "cursor": "pointer" }); //所有输入框里全部默认值设置 for (var key in arrIds) { var keyid = arrIds[key]; if (keyid != '' && keyid != null) { if ($("#" + keyid).attr('type') == 'text') { var dval = $("#" + keyid).val(); //搜索条件从地址栏获取值 var parameter = decodeURIComponent(jQuery.urlParam.get(keyid)); if (typeof parameter != undefined && parameter != '' && parameter != dval && parameter != 'null' && parameter != 'undefined') { $("#" + keyid).val(parameter); } else if (dval != null && dval != '') { //应用jQuery.setTip插件 $("#" + keyid).setTip({ defaultValue: dval }); } } else { //搜索条件从地址栏获取值 var parameter = decodeURIComponent(jQuery.urlParam.get(keyid)); //服务端用Server.UrlEncode方法编码 if (typeof parameter != undefined && parameter != '' && parameter != 'undefined') { $("#" + keyid).val(parameter); } } } } };})(jQuery);调用事例:
<html><head><link rel="stylesheet" type="text/css" href="../css/index.css" /><script src='../js/jquery-1.4.2.js' ></script><script src='../js/jquery.setTip.js' ></script><script src='../js/jQuery.urlParam.js' ></script><script src='../js/jQuery.cookie.js' ></script><script src='../js/jQuery.AdvSearch.js' ></script><script >$(function(){$("#ser").AdvSearch({ searchbtn:"img[src$='sosuo.jpg']",showSearchbtn:"img[src$='search.jpg']",cookieName:"sfsdf6" });})</script></head><body><div id="wrap"> <div id="container"> <div class="main"> <div id="content"> <table width="100%" summary="操作" class="a10"> <tr> <td colspan="2" style="text-align:right;"><a href="pandiandanxinzeng.html"><img src="../images/scpdd.jpg" alt="生成盘点单" /></a> <img src="../images/search.jpg" alt="查询" /></td> <td style="text-align:right;"> </td> <td><span style="text-align:right;"></span></td> <td > </td> <td > </td> <td > </td> <td > </td> <td > </td> </tr> <tr id='ser'> <td width="9%" style="text-align:right;">采集单号:</td> <td width="6%" style="text-align:right;"><input name="Input3" id='cako' type="text" class="sousuo1" value="请输入采集单号"/></td> <td style="text-align:right;" width="6%">采集人:</td> <td width="10%"><select name="select2" id=per class="dropdownlist"> <option>请选择采集人</option> <option>张三</option> <option>李四</option> </select></td> <td width="11%"><input name="Input2" id=sdate type="text" class="sousuo2" value="采集开始时间"/> —</td> <td width="9%"><input name="Input4" id=edate type="text" class="sousuo2" value="采集结束时间"/></td> <td width="5%">备注:</td> <td width="10%"><input name="Input" id=keyword type="text" class="sousuo" value="请录入关键字"/></td> <td ><img src="../images/sosuo.jpg" alt="搜索" /></td> </tr> </table></body></html>
2014版搜索插件在点搜索按钮时可以把默认值自动去掉,并且剔除输入值左右两边空格
下载2014Demo
2015年02月28日版本当页面是嵌套母板页时,textbox的客户端ID是被系统加过前缀的,此时可以通过$.fn.AdvSearch.encode 替换成简洁的地址参数名称。
2015年03月03日版本插件特征如前所述,本次升级新增样式类advsearch,可以使页面多处搜索各自独立 。
- JQuery插件第十八个:高级搜索集成处理
- JQuery插件第三十三个:高级搜索下的排序功能
- jQuery插件 - 插件高级概念
- jQuery搜索插件auntocomplete
- fusioncharts 集成Jquery开发插件
- EXTJS集成jquery.imgareaselect插件
- JQuery插件第三十八个:表单元素清空
- jquery搜索推荐列表插件
- NexT主题集成Algolia搜索插件
- 自编JQuery插件第十个
- 自编JQuery插件第十一个
- JQuery插件第十四个:简单验证表单
- JQuery插件第十五个:弹出框
- jquery第十一期:有关文档的处理
- Hibernate和jQuery插件flexgrid集成分页
- jquery AutoComplete 插件与struts2集成
- jquery AutoComplete 插件与struts2集成
- jQuery插件开发全解析 - 高级
- 为程序员量身定制的12个目标
- delphi与Excel 2
- 最大子段和(动态规划法求解)
- 多态总结
- Microsoft Visual Studio 2008破解方法
- JQuery插件第十八个:高级搜索集成处理
- linux下的C语言开发(定时器)
- ExtJS EditorGridPanel中时间日期编辑问题的总结
- HDU1754 I Hate It,线段树
- C++ 计算器Calculator类实现
- myeclipse
- xmodem源码 程序
- So low efficiency, so huge task
- 年轻是我们的资本,但并不是每个人都可以任意挥霍的资本