自从上次做了JQ自定义分页插件和表格插件后,就没在自定义过插件了,这一个月都在用linq和ef,基本前端都没怎么去碰了,今天有个同事说有个项目需要在下拉框里面带有复选框,本来想网上找下插件的,一想,其实这功能也并不难,于是就自己做了一个,也趁机再次熟悉下JQ自定义插件吧,好了,先附上效果图先:

看上去没怎么难吧,其实就是强化JQ,免得太久没用,生疏了。好了。附上我的代码:

(function($){

 var option={
     isEdit:false,  //是否可以编辑:默认是否
     Listheight:200,  //下拉框高度
     ListWidth:0,     //下拉框长度
     //数据源
     data:[
           {"value":1,"text":"选择1"},
           {"value":2,"text":"选择2"},
           {"value":3,"text":"选择3"},
           {"value":4,"text":"选择4"}
           ]
     }
           //开始创建下拉框
          function Start(obj)
          {
              if(!option.isEdit)
              {
              obj.attr({"readonly":"readonly"});
              }
            var      myList=$("
");             var  ul=$("
    ");            ul.css({"list-style":"none","margin":"0px","padding":"2px"});            myList.css({"border":"1px solid #D9E5F3","position":"absolute","overflow-y":"scroll","background-color":"#fff","font-size":"12px"});            if(option.Listheight0)            {           for(i=0;i");               var ListSon=$("");              ListSon.change(function(){                     if(this.checked)                        {                         obj.val(obj.val() $(this).val());                     }                     else                     {                         obj.val(obj.val().replace($(this).val(),""));                     }                      })               myList.mouseover(function(){                             myList.show();                                   })              myList.mouseout(function(){                             myList.hide();                                   })              var span=$("");              span.text(data[i].text);                ListSon.val(data[i].value ";");               li.append(ListSon);              li.append(span);              ul.append(li);           }            }              myList.append(ul);                myList.appendTo("body");              myList.hide();             FoucsShow($(obj),myList);           }           // 当获取到焦点使出现该下拉框           function FoucsShow(obj,myList)           {               obj.focus(function(){myList.show()})           }           $.fn.createList=function(newoption)           {               $.extend(option,newoption);              Start($(this));           }           })(jQuery);

    前台调用:

    $("#d2").createList({
         //数据源
         data:[
               {"value":"C#","text":"C#"},
               {"value":".NET","text":".NET"},
               {"value":"Java","text":"Java"},
               {"value":"JSP","text":"JSP"},
               {"value":"C","text":"C"},
               {"value":"C  ","text":"C  "},
               {"value":"javascript","text":"javascript"},
               {"value":"ajax","text":"ajax"},
               {"value":"json","text":"json"},
               {"value":"xml","text":"xml"},
               {"value":"sql server","text":"sql server"},
               {"value":"xml","text":"Mysql"},
               {"value":"oracle","text":"oracle"},
               {"value":"JQuery","text":"JQuery"},
               {"value":"Ext js","text":"Ext js"},
               {"value":"CSS3","text":"CSS3"},
               {"value":"HTML5","text":"HTML5"}
               ]    
                });
                $("#d3").createList();    
                   })

    jquery自定义下拉列表示例的更多相关文章

    1. jquery点赞功能实现代码 点个赞吧!

      点赞功能很多地方都会出现,如何实现爱心点赞功能,这篇文章主要为大家详细介绍了jquery点赞功能实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    2. 在IOS9中的Cordova应用程序使用JQuery / Javascript的window.history问题

      在两个测试用例中唯一改变的是Cordova.js.解决方法我看到这是几个星期前,但我会发布这个,以防其他人遇到它.听起来它可能与iOS9中的哈希更改生成的导航事件有关.如果是这样,可以将其添加到index.html以禁用哈希侦听:

    3. iOS 5上的jQuery事件

      解决方法在Apple开发论坛上由一个人回答:我需要在将元素添加到DOM之后才绑定(),如下所示:

    4. android – Phonegap本地构建 – jquery ajax错误:readystate 0 responsetext status 0 statustext error

      解决方法您是否在索引文件中包含了内容安全元标记?

    5. jQuery中的通配符选择器使用总结

      通配符在控制input标签时相当好用,这里简单进行了jQuery中的通配符选择器使用总结,需要的朋友可以参考下

    6. 设置焦点到输入框和显示Android键盘使用jquery手机在pageshow

      我正在设置焦点到输入框,并显示Android键盘使用jquery手机网页显示.我从Web上尝试过很多选项.但是没有一个在模拟器和移动设备中都能按预期工作.这是代码:查找屏幕截图以供参考请咨询…解决方法对我有用的解决方案

    7. android – 如何在焦点()上以编程方式隐藏jquery mobile中的键盘

      我想在Focus()上隐藏键盘,但是当$(“.ui-input-text”).focus();它会自动打开键盘.我只是想隐藏在特定的屏幕上,我用document.activeElement.blur()测试;但它也没有关注()输入.解决方法提交表单时,iOS键盘可能不会自动关闭.这是一个非常实用的问题,因为不应要求用户手动关闭键盘,否则他们不会期望需要这样做.可以通过调用document.acti

    8. jquery ajaxfileupload异步上传插件

      这篇文章主要为大家详细介绍了jquery ajaxfileupload异步上传插件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    9. jQuery实现简单的抽奖游戏

      这篇文章主要为大家详细介绍了jQuery实现简单的抽奖游戏,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    10. jQuery的Cookie封装,与PHP交互的简单实现

      下面小编就为大家带来一篇jQuery的Cookie封装,与PHP交互的简单实现。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    随机推荐

    1. js中‘!.’是什么意思

    2. Vue如何指定不编译的文件夹和favicon.ico

      这篇文章主要介绍了Vue如何指定不编译的文件夹和favicon.ico,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

    3. 基于JavaScript编写一个图片转PDF转换器

      本文为大家介绍了一个简单的 JavaScript 项目,可以将图片转换为 PDF 文件。你可以从本地选择任何一张图片,只需点击一下即可将其转换为 PDF 文件,感兴趣的可以动手尝试一下

    4. jquery点赞功能实现代码 点个赞吧!

      点赞功能很多地方都会出现,如何实现爱心点赞功能,这篇文章主要为大家详细介绍了jquery点赞功能实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    5. AngularJs上传前预览图片的实例代码

      使用AngularJs进行开发,在项目中,经常会遇到上传图片后,需在一旁预览图片内容,怎么实现这样的功能呢?今天小编给大家分享AugularJs上传前预览图片的实现代码,需要的朋友参考下吧

    6. JavaScript面向对象编程入门教程

      这篇文章主要介绍了JavaScript面向对象编程的相关概念,例如类、对象、属性、方法等面向对象的术语,并以实例讲解各种术语的使用,非常好的一篇面向对象入门教程,其它语言也可以参考哦

    7. jQuery中的通配符选择器使用总结

      通配符在控制input标签时相当好用,这里简单进行了jQuery中的通配符选择器使用总结,需要的朋友可以参考下

    8. javascript 动态调整图片尺寸实现代码

      在自己的网站上更新文章时一个比较常见的问题是:文章插图太宽,使整个网页都变形了。如果对每个插图都先进行缩放再插入的话,太麻烦了。

    9. jquery ajaxfileupload异步上传插件

      这篇文章主要为大家详细介绍了jquery ajaxfileupload异步上传插件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    10. React学习之受控组件与数据共享实例分析

      这篇文章主要介绍了React学习之受控组件与数据共享,结合实例形式分析了React受控组件与组件间数据共享相关原理与使用技巧,需要的朋友可以参考下

    返回
    顶部