当前位置:首页 > 设计在线 > 网页设计 > CSS/Xhtml > Css:制作一个更漂亮一些的多选列表框

Css:制作一个更漂亮一些的多选列表框

点击次数:33 次 发布日期:2008-11-21 16:08:28 作者:源代码网
源代码网推荐

源代码网整理以下我认为多选列表具有完美的功能——只需按下Ctrl键,同时点击鼠标从列表中选择多个项目。以下是一个典型的多选列表框:

源代码网整理以下选出你最喜爱的快餐:

源代码网整理以下上面那个列表框的代码如下:

源代码网整理以下

以下为引用的内容:

源代码网整理以下<form method="get" action="">

源代码网整理以下<b>Check your favorite fast food:</b><br/>

源代码网整理以下<SELECT MULTIPLE SIZE=5 name="favorites">

源代码网整理以下<OPTION VALUE="McDonalds">McDonald"s</option>

源代码网整理以下<OPTION VALUE="BurgerKing">Burger King</option>

源代码网整理以下<OPTION VALUE="Wendys">Wendy"s</option>

源代码网整理以下<OPTION VALUE="JackInTheBox">Jack in the Box</option>

源代码网整理以下<OPTION VALUE="KFC">KFC</option>

源代码网整理以下<OPTION VALUE="TacoBell">Taco Bell</option>

源代码网整理以下</SELECT>

源代码网整理以下<br/><input type="submit" value="Choose">

源代码网整理以下</form>

源代码网整理以下事实上,即使你在页面中添加了用法说明,仍然有用户不知道如何使用多选列表框。另外,给每个项目增加额外的标题确实会有帮助,但用一个普通的多选列表框能否达到那个目的,我还不能确定。

源代码网整理以下不过,我确实清楚知道,用一些CSS和一小段JavaScript,你就能生成一个更漂亮一点的多选列表框,并且还可以建立一个等同于普通多选列表框的URL。那样,你就不用修改处理列表框的后端代码——而只需要美化前端即可。

源代码网整理以下你首先从CSS开始,建立一个新多选列表框在其中滚动的小区域。我们还可以建立悬浮效果,当鼠标移动到一个项目上时,背景色就会改变,以突出当前选择。

源代码网整理以下

以下为引用的内容:

源代码网整理以下<style>

源代码网整理以下.checklist {

源代码网整理以下border: 1px solid #ccc;

源代码网整理以下list-style: none;

源代码网整理以下height: 10em;

源代码网整理以下overflow: auto;

源代码网整理以下width: 20em;

源代码网整理以下}.checklist, .checklist li { margin: 0; padding: 0; }

源代码网整理以下.checklist label {

源代码网整理以下display: block;

源代码网整理以下padding: 0 0.2em 0 25px;

源代码网整理以下text-indent: -25px;

源代码网整理以下}

源代码网整理以下.checklist label:hover { background: #777; color: #fff; }

源代码网整理以下* html .checklist label { height: 1%; }

源代码网整理以下</style>

源代码网整理以下至于JavaScript,你基本上只希望建立一个等同于常规多选列表框的URL。以上面的多选列表框为例,其查询字符串如下:

源代码网整理以下?favorites=Wendys&favorites=KFC

源代码网整理以下那就是我们希望仿效的地方。这段脚本只是利用外观(form)对象,循环所有检验栏(checkbox)的thru looking,并为那些选中的项目建立URL。很明显,这段脚本只应用于所有检验栏元素都位于新多选列表框的情况。

源代码网整理以下

以下为引用的内容:

源代码网整理以下<script type="text/javascript">

源代码网整理以下function submitForm(f) {

源代码网整理以下var cb = f.getElementsByTagName("input");

源代码网整理以下var favorites = "favorites=";

源代码网整理以下var isFirst = true;for (var i = 0; i < cb.length; i++) {

源代码网整理以下var curr = cb[i];

源代码网整理以下if (curr.type == "checkbox") {

源代码网整理以下// window.alert(curr.name + ": " + curr.type);

源代码网整理以下if (curr.checked) {

源代码网整理以下if (isFirst) {

源代码网整理以下favorites = "favorites=" + curr.name;

源代码网整理以下isFirst = false;

源代码网整理以下} else {

源代码网整理以下favorites = favorites + "&favorites=" + curr.name;

源代码网整理以下}

源代码网整理以下}

源代码网整理以下}

源代码网整理以下}

源代码网整理以下window.location = f.action + "?" + favorites;

源代码网整理以下}

源代码网整理以下</script>

源代码网整理以下最后,经过简单改进的新多选列表框的代码如下:

源代码网整理以下

以下为引用的内容:

源代码网整理以下<form method="get" action="">

源代码网整理以下<b>Check your favorite fast food:</b><br/>

源代码网整理以下<ul class="checklist">

源代码网整理以下<li><label><input type="checkbox" name="McDonalds" /><b>McDonalds</b><br/>I"m lovin" it</label></li>

源代码网整理以下<li><label><input type="checkbox" name="BurgerKing" /><b>Burger King</b><br/>Have it your way</label></li>

源代码网整理以下<li><label><input type="checkbox" name="Wendys" /><b>Wendy"s</b><br/>Always fresh, never frozen</label></li>

源代码网整理以下<li><label><input type="checkbox" name="JackInTheBox" /><b>Jack in the Box</b><br/>If it doesn"t get all over the place, it doesn"t belong in your face</label></li>

源代码网整理以下<li><label><input type="checkbox" name="KFC" /><b>KFC</b><br/>Finger lickin" good</label></li>

源代码网整理以下<li><label><input type="checkbox" name="TacoBell" /><b>Taco Bell</b><br/>Think outisde the bun</label></li>

源代码网整理以下</ul>

源代码网整理以下<input type="button" value="Choose" onclick="submitForm(this.form);">

源代码网整理以下</form>

源代码网整理以下不幸的是,TechRepublic网站大量应用CSS,因此当我在博客中试用这段样本代码时,它显得非常难看。我可不希望为避免冲突而把代码修改得一团糟——这里我只是努力想说明其中的基本理论。

源代码网整理以下因此,我在自己的个人网站上用这段代码发布了一个简单的文件,你可以通过它了解代码的用法。

源代码网供稿.
网友评论 (0)
会员中心
设计在线
本站推荐
设计在线之精华