本文实例讲述了jquery使用ul模拟select实现表单美化的方法。分享给大家供大家参考。具体如下:
这里使用jquery实现ul模拟select,是jQuery插件实现的Select下拉菜单效果,类似的功能网上已经有一些了,每一款都代表了不同的编程思路,为学习提供一份参考。
运行效果截图如下:
在线演示地址如下:
http://demo.jb51.net/js/2015/jquery-ul-select-table-codes/
具体代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>ul模拟select</title> <script type="text/javascript" src="jquery-1.6.2.min.js"></script> <style type="text/css"> <!-- .select_box {width:150px; position:relative; margin:10px;padding:0; font-size:12px;} .submit_box {width:180px; position:relative; margin:10px;padding:0; font-size:12px; text-align:center;} ul,li {list-style-type:none; padding:0; margin:0} .select_box input {cursor:pointer; display:block; line-height:25px; width:100%; height:25px; overflow:hidden;border:1px solid #ccc; padding-right:20px; padding-left:10px; background:url(select_input_bg.gif) no-repeat 160px center;} .select_box ul {width:180px; position:absolute; left:0; top:25px; border:1px solid #ccc; background:#fff; overflow: hidden;display:none; background:#ebebeb; z-index:99999;} .select_box ul li {display:block;height:30px;overflow:hidden;line-height:30px;padding-left:5px;width:100%;cursor:pointer;} .hover {background:#ccc;} --> </style> <script type="text/javascript"> $(document).ready(function(){ $(".select_box input").click(function(){ var thisinput=$(this); var thisul=$(this).parent().find("ul"); if(thisul.css("display")=="none"){ if(thisul.height()>200){thisul.css({height:"200"+"px","overflow-y":"scroll" })}; thisul.fadeIn("100"); thisul.hover(function(){},function(){thisul.fadeOut("100");}) thisul.find("li").click(function(){thisinput.val($(this).text());thisul.fadeOut("100");}).hover(function(){$(this).addClass("hover");},function(){$(this).removeClass("hover");}); } else{ thisul.fadeOut("fast"); } }) $("#submit").click(function(){ var endinfo=""; $(".select_box input:text").each(function(i){ endinfo=endinfo+(i+1)+":"+$(this).val()+";\n"; }) alert(endinfo); }) }); </script> </head> <body> <div class="select_box"><input id="myselect" type="text" value="请选择..." readonly="readonly"> <ul class="select_ul"> <li>选项一</li> <li>选项二</li> <li>选项三</li> <li>选项四</li> <li>选项五</li> </ul> </div> <div class="select_box"><input id="myselect" type="text" value="请选择..." readonly="readonly"> <ul class="select_ul"> <li>选项一</li> <li>选项二</li> </ul> </div> <div class="select_box"><input id="myselect" type="text" value="请选择..." readonly="readonly"> <ul class="select_ul"> <li>选项一</li> <li>选项二</li> <li>选项三</li> <li>选项四</li> <li>选项五</li> <li>选项一</li> <li>选项二</li> <li>选项三</li> <li>选项四</li> <li>选项五选项五选项五选项五选项五</li> </ul> </div> <div class="submit_box"><input type="button" id="submit" value="提交数据" /></div> </body> </html>
希望本文所述对大家的jquery程序设计有所帮助。