Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1571565
  • 博文数量: 50
  • 博客积分: 9971
  • 博客等级: 中将
  • 技术积分: 2615
  • 用 户 组: 普通用户
  • 注册时间: 2006-01-03 16:03
文章分类

全部博文(50)

文章存档

2011年(2)

2010年(2)

2009年(41)

2008年(5)

我的朋友

分类:

2009-04-29 16:07:44

很多人对 form 默认的多选框效果不太满意,因为选中和未选中的项目是在一起的,当选项较多时问题尤为明显,本文介绍的就是将可选项和选中项分开,并且可以通过操作按钮或者双击来移动选项,操作起来非常方便。


--------------------------------------------------------------

--------------------------------------------------------------


首先将下面的代码放置在页面的标签内:

CSS:
  1.  
  2.  



Javascript:
  1.  
  2.  



然后将下面的代码放在页面的标签内:
HTML:
  1.  
  2. method="post" action="multiple_select.html">
  3. multiple name="fromBox" id="fromBox">
  4. value="3">Finland
  5. value="4">France
  6. value="6">Mexico
  7. value="1">Norway
  8. value="5">Spain
  9. value="2">United Kingdom
  10. multiple name="toBox" id="toBox">
  11. value="12">Canada
  12. value="13">Germany
  13. value="11">United States
  14. type="text/javascript">
  15. createMovableOptions("fromBox","toBox",500,300,'Available countries','Selected countries');
  16. You move elements by clicking on the buttons or by double clicking on select box items

  17.  



配置方法:
(1)用类似下面的代码创建两个多选列表

HTML:
  1.  
  2. multiple name="fromBox" id="fromBox">
  3. value="3">Finland
  4. value="4">France
  5. value="6">Mexico
  6. value="1">Norway
  7. value="5">Spain
  8. value="2">United Kingdom
  9. multiple name="toBox[]" id="topBox">
  10. value="12">Canada
  11. value="13">Germany
  12. value="11">United States
  13.  


(2)用下面的javascript代码初始化设置:

Javascript:
  1.  
  2.  


参数说明如下:
      "fromBox" - 第一个多选列表的id()
      "toBox" - 第二个多选列表的id()
      500 - 控件的总宽度
      300 - 控件的总高度
      "Available countries" - 第一个多选列表的显示名称
      "Selected countries" - 第二个多选列表的显示名称

提交表单的方法:

当提交表单时,我们希望只有选中的选项值被提交,所以需要一些javascript代码进行一些小的处理。

先在form标签中加入提交事件的处理:

Code:





再加一段javascript代码:

Javascript:
  1.  
  2. function selectItem()
  3. {
  4. var obj = document.getElementById('toBox[]');
  5. for(var no=0;nooptions.length;no++){
  6. obj.options[no].selected = true;
  7. }
  8. }

阅读(955) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~