JQuery自定义搜索控件

小练习 根据选项搜索

效果:

 1 <style type="text/css">
 2 body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, form, input, button, textarea, p, th, td{ margin: 0;padding: 0;border:none;}
 3 .search .border {margin-right:0px;
 4     width:288px;
 5     height:32px;
 6     margin-right:10px;
 7     border:1px solid #ddd;
 8     background:#fff;}
 9
10  .search .lanmu {
11     position:relative;
12     float:left;
13     width:60px;
14     height:32px;
15     border-right:1px solid #ccc;
16     font-size:12px;
17 }
18  .search .lanmu i {
19     position:absolute;
20     left:9px;
21     top:14px;
22     width:7px;
23     height:4px;
24     background:url(images/forumicon2.gif) no-repeat 0 -223px;
25 }
26 .search .lanmu .down {
27     display:none;
28     cursor:pointer;
29     position:absolute;
30     width:60px;
31     line-height:26px;
32     left:-1px;
33     top:32px;
34     text-align:center;
35     border:1px solid #ccc;
36     background:#fff;
37 }
38  .search .lanmu .down li:hover {
39     background:#5cb82b;
40     color:#fff;
41 }
42  .search .lanmu span {
43     cursor:pointer;
44     padding-left:25px;
45     line-height:32px;
46 }
47  .search .input {
48     float:left;
49     width:185px;
50     padding:0 5px;
51     height:32px;
52     line-height:32px;
53 }
54  .search .sub {
55     float:left;
56     width:32px;
57     height:32px;
58     background:url(images/forumicon2.gif) no-repeat 0 -41px;
59 }
60  .search .btn-down,.btn-down{
61     float:left;
62     position:relative;
63     width:100px;
64     height:32px;
65     line-height:32px;
66     text-align:center;
67     color:#fff;
68     background:#5bb72b;
69     border:1px solid #5ab42a;
70     font-size:14px;
71 }
72 </style>

CSS样式

 1 <script type="text/javascript">
 2 $(function(){
 3     if($("#qty").val()=="帖子")
 4     {
 5         $(".lanmu span").html("<i></i>"+$("#litopic").text());
 6         $(".lanmu span").next().hide().removeClass(‘downshow‘);
 7     }
 8     else  if($("#qty").val()=="新闻")
 9     {
10         $(".lanmu span").html("<i></i>"+$("#litopic").text());
11         $(".lanmu span").next().hide().removeClass(‘downshow‘);
12     }
13     $(".lanmu span").click(function(event){
14             var _that = $(this);
15             _that.next().toggle().toggleClass(‘downshow‘);
16             $("#litopic").click(function(){
17                 $("#qty").val("帖子");
18                 _that.html("<i></i>"+$(this).text());
19                 _that.next().hide().removeClass(‘downshow‘);
20             });
21             $("#linews").click(function(){
22                 $("#qty").val("新闻");
23                 _that.html("<i></i>"+$(this).text());
24                 _that.next().hide().removeClass(‘downshow‘);
25             });
26             event.stopPropagation();
27         })
28         //空白点击关闭下拉
29         $(document).click(function(){
30             var $down = $(‘.lanmu .down‘);
31             if($down.hasClass(‘downshow‘)){
32                  $down.hide().removeClass(‘downshow‘);
33             }
34         })
35 });
36 function Search()
37 {
38     var tb= document.getElementById("txtname").value;
39     if(tb=="请输入搜索的内容"||tb.replace(/(^\s*)|(\s*$)/g, "")=="")
40     {
41        document.getElementById("txtname").value="";
42        alert("请输入搜索的内容!");
43        return;
44     }
45     var hqty=document.getElementById("qty").value
46     if(hqty=="帖子")
47     {
48        window.location.href="A.aspx?t=2&title="+escape(tb);
49     }
50     else if(hqty=="新闻")
51     {
52      window.location.href="B.aspx?t=2&name="+escape(tb);
53     }
54     return;
55 }
56
57 function show_select(input,btn,option,value){
58     inputobj=document.getElementById(input);
59     btnobj=document.getElementById(btn);
60     optionobj=document.getElementById(option);
61     valueobj=document.getElementById(value);
62     optionobj.style.display=optionobj.style.display==""?"none":"";
63     optionobj.onblur=function () {
64         optionobj.style.display="none";
65     }
66
67     for (var i=0;i<optionobj.childNodes.length;i++){
68         optionobj.focus();
69         optionobj.childNodes[i].onmouseover=function (){
70             this.className="itemsover";
71         }
72         optionobj.childNodes[i].onmouseout=function (){
73             this.className="itemsout";
74         }
75         optionobj.childNodes[i].onclick=function () {
76         //alert(this.innerHTML)
77             inputobj.innerHTML=this.innerHTML;
78             valueobj.value=this.innerHTML;
79             optionobj.blur();
80             optionobj.style.display="none";
81             if (input=="pro_color"){
82               loadpic(this.id,"");
83             }
84         }
85     }
86 }
87 </script>

Jquery

 1 <div class="search">
 2 <div class="border">
 3     <div class="lanmu">
 4         <span ><i></i>帖子</span>
 5         <ul class="down">
 6             <li id="litopic">帖子</li>
 7             <li id="linews">新闻</li>
 8         </ul>
 9     </div>
10     <input id="txtname" type="text" class="input" onkeydown="(function(e){if(!e) e=window.event;switch (e.keyCode|e.which|e.charCode){case 13:Serach();break;}})(event);"/>
11     <input id="Button1" type="button" class="sub" value="" title="搜索" onclick="Search" style="cursor: pointer"/>
12     <input name="qty" type="hidden" id="qty" value="帖子"/>
13 </div>
14 </div>

html

时间: 2024-10-09 19:50:22

JQuery自定义搜索控件的相关文章

自定义的jquery ui树控件

简单的自定义jquery ui树控件,用于机构人员,支持自动加载下级节点数据 jQuery.widget("xway.Tree", { _Node: function(data) { this.id = data.type + "_" +data.id; this.trid = "tr_" + this.id; this.label = data.label; this.parent = null; this.tree = null; this.

jQuery之自定义pagination控件

slpagination 效果: slpagination.js (function($) { $.fn.slpagination = function(options, params) { $.extend($.fn.slpagination.defaults, options); $(this).attr({ "class" : $.fn.slpagination.defaults.css, style : $.fn.slpagination.defaults.style });

基于jQuery 常用WEB控件收集

Horizontal accordion: jQuery 基于jQuery开发,非常简单的水平方向折叠控件. Horizontal accordion: jQuery jQuery-Horizontal Accordion 具有XBOX360 blade界面风格的水平方向Accordion. jQuery-Horizontal Accordion AutoComplete-JQuery jQuery插件易于集成到现在的表单中(Form). AutoComplete-JQuery Facebook

javascript实例学习之六—自定义日历控件

基于之前上篇博客轻量级jquery,tool.js和base.js.自定义开发的base_datePicker插件,效果类似于jquery_ui的datePicker插件 //基于Base.js以及tool.js做的日历插件 $().extend('datePicker', function() { //生成日历插件 var $yearSpan; var $monthSpan; var tds; var $prevBtn; var $nextBtn; var $lastTr; var $date

一些基于jQuery开发的控件

基于jQuery开发,非常简单的水平方向折叠控件.主页:http://letmehaveblog.blogspot.com/2007/10/haccordion-simple-horizontal-accordion.html (无法找到)下载:http://letmehaveblog.blogspot.com/2007/10/haccordion-simple-horizontal-accordion.html 示例:http://letmehaveblog.blogspot.com/2007

Xamarin.Forms自定义用户界面控件实现一个HybridWebView(混合webview)

原文:Implementing a HybridWebView呈现一个特定于平台的视图 Xamarin.Forms自定义用户界面控件应该来自视图类(View class),用于在屏幕上放置布局和控件.本文演示了如何为HybridWebView(混合webview)自定义控件创建自定义渲染器,该控件演示了如何增强特定平台的web控件,以允许从JavaScript调用c#代码. 每一个Xamarin.Forms视图为每个创建本地控件实例的平台提供了相应的渲染器.当一个视图被Xamarin.Forms

Android自定义控件之自定义组合控件(三)

前言: 前两篇介绍了自定义控件的基础原理Android自定义控件之基本原理(一).自定义属性Android自定义控件之自定义属性(二).今天重点介绍一下如何通过自定义组合控件来提高布局的复用,降低开发成本,以及维护成本. 使用自定义组合控件的好处? 我们在项目开发中经常会遇见很多相似或者相同的布局,比如APP的标题栏,我们从三种方式实现标题栏来对比自定义组件带来的好处,毕竟好的东西还是以提高开发效率,降低开发成本为导向的. 1.)第一种方式:直接在每个xml布局中写相同的标题栏布局代码 <?xm

自定义组合控件和在自定义控件中使用自定义属性

今天,整理了一下我平时的笔记,写一个比较简单的自定义组合控件,仅供小白参考,大神请绕道,希望能够对大家有一些帮助 首先,得明白为什么我们需要自定义组合控件,它是因为原有控件并不能满足开发的需求,或者说并不能达到我们想要的一种效果,这个时候,就需要我们自己定义一些控件,以达到目的 ![先来看一下效果](http://img.blog.csdn.net/20160716224219109) 个人总结自定义控件的步骤: 1.先写一个布局,这里我用的是一个相对布局,我这里的相对布局就是根布局了 <?xm

自定义HtmlHelper控件

在asp.net mvc 中每一个Html控件都返回了MvcHtmlString ,他继承了HtmlString.下面自定义一个关于显示男女性别的自定义Html控件,使在创建页面时,可以直接调用该自定义的Html控件.可以查看其他的Html控件返回的是HtmlHelper,所以自定义的时候也要返回相同的类型直接在Controls文件夹下建立要自定义的html控件代码如下: using System.Web.Mvc; using System.Text; namespace System.Web.