js进阶 9-14 js如何实现下拉列表多选移除

js进阶 9-14 js如何实现下拉列表多选移除

一、总结

一句话总结:

1、js如何实现下拉列表多选移除?

把这个下拉列表中的option移除,然后加到另外一个下拉列表(文字)中去。remove方法和add方法

2、option的哪个属性可以获得文本值?

text属性

3、js传参的过程中如何传element?

这种传参方式真的可以借鉴,onclick="jh(document.form1.sel_2,document.form1.sel_1)"

二、js进阶 9-14  js实现下拉列表多选移除

1、案例说明:下拉列表多选移除

  • 案例要点:使用while循环语句,判断select元素的slectedIndex属性值不为-1,然后获取对应的索引值和文本,将其添加到另一个下拉列表中,并在当前select元素将其移出。

2、相关知识点:Select 下拉列表

Select 对象集合
  • options[]返回包含下拉列表中的所有选项的一个数组
Select对象属性
  • length返回下拉列表中的选项数目
  • multiple 设置或返回是否选择多个项目。
  • selectedIndex 设置或返回下拉列表中被选项目的索引号。
  • size 设置或返回下拉列表中的可见行数。
  • id/name/disabled/form/tabIndex
Select 对象方法
  • add() 向下拉列表添加一个选项。

    语法:selectobject.add(option,before)

  • remove() 从下拉列表中删除一个选项.

    语法: selectobject.remove(index)

  • blur()/focus()
Option 对象的属性
  • defaultSelected 返回 selected属性的默认值。
  • index 返回下拉列表中某个选项的索引位置。
  • Selected 设置或返回 selected 属性的值。
  • text 设置或返回某个选项的纯文本值。
  • disabled/form/id/value......

3、截图和代码

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>演示文档</title>
 6     <style>
 7     select{
 8             width: 100px;
 9         }
10         option{
11             height: 10px;
12         }
13     </style>
14 </head>
15 <body>
16     <form name="form1" action="">
17         <select size="6" name="sel_1" multiple="">
18             <option value='A'>1</option>
19             <option value='B'>2</option>
20             <option value='C'>3</option>
21             <option value='D'>4</option>
22             <option value='E'>5</option>
23             <option value='F'>6</option>
24         </select>
25         <input type="button" value="<<" onclick="jh(document.form1.sel_2,document.form1.sel_1)">
26         <input type="button" value=">>" onclick="jh(document.form1.sel_1,document.form1.sel_2)">
27         <select size="6" name="sel_2"></select>
28     </form>
29     <script type="text/javascript">
30         function jh(s1,s2){
31             while(s1.selectedIndex!=-1){
32                 var index=s1.selectedIndex;
33                 var str1=s1.options[index].text;
34                 s1.remove(index)
35                 s2.options.add(new Option(str1))
36             }
37         }
38     </script>
39 </body>
40 </html>
 
原文地址:https://www.cnblogs.com/Renyi-Fan/p/9169456.html