首页 新闻 会员 周边

select标签控制选择

0
[待解决问题]

如果没有选择值,则弹出提示,如果右边选择了值,怎么控制点击【复制】按钮的时候不能复制。

复制代码
 1 <html>
 2 <head>
 3 <meta charset="utf-8">
 4 <title>html Dom</title>
 5 <script type="text/javascript">
 6     window.onload=function(){
 7         var sel1=document.getElementById("sel1");
 8         var sel2=document.getElementById("sel2");
 9         var btn=document.getElementById("btn");
10         var op=document.getElementsByTagName("option");
11         var btn1=document.getElementById("btn1");
12         btn.onclick=function(){
13             for(i=0;i<op.length;i++){
14                     if(op[i].selected){
15                         sel1.removeChild(op[i]);
16                     }
17                 }
18         }
19         btn1.onclick=function(){
20             for(i=0;i<op.length;i++){
21                 if(op[i].selected){
22                     sel2.appendChild(op[i].cloneNode(true));    
23                     op[i].selected=false;
24                 }
25             }
26         }
27     }
28 </script>
29 </head>
30 <body>
31     <select id="sel1" multiple="multiple" style="width:100px;height:200px;">
32     <option value="苹果">苹果</option>
33     <option value="苹果1">苹果1</option>
34     <option value="苹果2">苹果2</option>
35     <option value="苹果3">苹果3</option>
36     <option value="苹果4">苹果4</option>
37     <option value="苹果5">苹果5</option>
38     <option value="苹果6">苹果6</option>
39     <option value="苹果7">苹果7</option>
40     </select>
41     <input type="button" value="移除" id="btn"/>
42     <input type="button" value="复制" id="btn1"/>
43     <select id="sel2" multiple="multiple" style="width:100px;height:200px;">
44     </select>
45 </body>
46 </html>
复制代码

温柔的鲨鱼的主页 温柔的鲨鱼 | 菜鸟二级 | 园豆:202
提问于:2017-04-11 00:10
< >
分享
所有回答(3)
0
 1 btn.onclick=function(){
 2             for(i=0;i<op.length;i++){
 3                     if(op[i].selected&&op[i].nodeType==1){
 4                         if(op[i].nodeType==1&&op.length!=0){
 5                             sel1.removeChild(op[i]);
 6                         }
 7                     }
 8                 }
 9         }
10         btn1.onclick=function(){
11             for(i=0;i<op.length;i++){
12                 if(op[i].selected){
13                     sel2.appendChild(op[i].cloneNode(true));    
14                     op[i].selected=false;
15                 }
16             }
17         }

获取节点错误。已经解决了。

温柔的鲨鱼 | 园豆:202 (菜鸟二级) | 2017-04-11 00:33
0

这样才对吧。

btn.onclick=function(){
    var max = op.length-1;
    for(i=max;i>=0;i--){
        if(op[i].selected){
            sel1.removeChild(op[i]);
        }
    }
}

zhaoying0103 | 园豆:204 (菜鸟二级) | 2017-04-25 11:21
0

在复制按钮的事件里最上方加上:

if(...){

 alert("不能复制,因为右边选了值");

 return;

}

return 之后方法就不会继续执行了。

weizhangxiaohan | 园豆:95 (初学一级) | 2017-05-28 19:52
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册