zoukankan      html  css  js  c++  java
  • DHTML4(select与checkbox应用)

    1.checkbox例子:

    <!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=utf-8" />
    <title>获取checkbox选中内容</title>
    <script type="text/javascript">
      function sum(){
        var inputNodes=document.getElementsByName("notebook");
        var sum=0;
        for(var i=0;i<inputNodes.length;++i)
          if(inputNodes[i].checked)    
            sum+=parseInt(inputNodes[i].value);
        var spanNode=document.getElementById("sumMoney");
        spanNode.innerHTML="<font size='7' color='red'>"+sum+"</font>";
    
      }
      function checkAll(index){
        //var checkAllNode=document.getElementsByName("checkAll")[index];//不传入index,也可以直接使用
                                                                      //event.srcElement来完成 
        var inputNodes=document.getElementsByName("notebook");
        for(var i=0;i<inputNodes.length;++i)
             // inputNodes[i].checked=checkAllNode.checked;//直接赋值为"全选"复选框的状态
             inputNodes[i].checked=event.srcElement.checked;
      }
    </script>
    </head>
    
    <body>
      <input type="checkbox" name="checkAll" onclick="checkAll(0)"/>全选<br/>
     <input type="checkbox" name="notebook" value="4000" />lenovo笔记本:4000元<br/>
     <input type="checkbox" name="notebook" value="3000"  />Dell笔记本:3000元<br/>
     <input type="checkbox" name="notebook" value="5000" />ASUS笔记本:5000元<br/>
     <input type="checkbox" name="notebook" value="3500" />Acer笔记本:3500元<br/>
     <input type="checkbox" name="notebook" value="3500" />Acer笔记本:3500元<br/>
     <input type="checkbox" name="notebook" value="13500" />Alienware笔记本:13500元<br/>
      <input type="checkbox" name="checkAll" onclick="checkAll(1)"/>全选<br/>
     <input type="button" onclick="sum()" value="计算总金额"/><span id="sumMoney"></span>
    </body>
    </html>

    checkbox购物车

    2.select应用一:

    <!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=utf-8" />
    <title>select动态效果</title>
    <script type="text/javascript" src="JS/documentTools.js"></script>
    <style type="text/css">
     #textClass{
         background-color:#FC6;
         width:400px;
         height:100px;
     }
     #selText{
         background-color:#CCC;
         width:200px;
     }
    </style>
    
    </head>
    
    <body>
    <div id="textClass">
     Each prick silk has a goddess in my heart.<br/>
     每一个屌丝心中都有一个女神
    </div>
    <br/>
    <br/>
    <select id="selID" onchange="change()">
      <option value="none">--请选择--</option>
      <option value="capitalize">首字母大写</option>
      <option value="uppercase">所有字母大写</option>
      <option value="lowercase">所有字母小写</option>
    </select>
    <br/>
    <br/>
    <div id="selText">
    选中的内容:--请选择--
    </div>
    </body>
    </html>
    <script type="text/javascript">
     function change(){
      with(document){
       var selectNode=getElementById("selID"); 
       var optionNodes=selectNode.options;
       var selectValue=optionNodes[selectNode.selectedIndex].value;
       
       getElementById("selText").innerHTML="选中的内容:"+selectValue;
       var divObj=getElementById("textClass")
       divObj.style.textTransform=selectValue;//直接设置style对象中的样式属性textTransform的值
      }
     }
    
    </script>

    select_1_1

    3.级联select示例:

    <!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=utf-8" />
    <title>级联选择</title>
    <script type="text/javascript" src="JS/documentTools.js"></script>
    <script type="text/javascript">
      function selectPro(){
      var proCity=[["--选择城市--"],["三门峡","平顶山","周口","驻马店"],
                   ["泰安市","威海市","日照市","滨州市"], 
                   ["杭州市","温州市","嘉兴市","绍兴市 "],
                    ["东城区","西城区","海淀区","朝阳区"]]; 
      var selProNode=byID("selPro"); 
      var selCityNode=byID("selCity");
      var arrPro=proCity[selProNode.selectedIndex]; 
     
      //clearAll(selCityNode);
       selCityNode.options.length=0;//最简单的一种清空方式
     
      for(var i=0;i<arrPro.length;++i){
        var optionNode=document.createElement("option");
        selCityNode.options.add(optionNode);//或者使用selCityNode.appendChild(optionNode);
        optionNode.innerText=arrPro[i];
      }
     }
     
     /*常规思路:删除元素*/
     function clearAll(selCityNode){//下次选省前清空上次对应所有市
        var choices=selCityNode.options
          for(var i=0;i<choices.length;){ //options.length在remove的过程中时刻在变化
                                          //每删除一个,其余元素的索引-1;
        
                choices.remove(i);//该方法移除options中指定index元素
             
               //selCityNode.removeChild(choices[i]);//该方法的执行会引起options集合元素索引变化,以及                                                 //options.length变化,两种方法任选一种
         }
    }
    </script>
    
    </head>
    
    <body>
    <select id="selPro" onchange="selectPro()">
      <option value="none">--选择省市--</option>
      <option >河南</option>
      <option >山东</option>
      <option >浙江</option>
      <option >北京</option>
    </select>
    <select id="selCity">
      <option>--选择城市--</option>
    </select>
    </body>
    </html>

    image

    如果再有县等,那么就把县放到一个二维数组,二维数组的第一维和选中的市相对应,然后操作思想和上面相同

    关于常规思路清空上次所有的option:

    //本想用with语句偷懒,没想到引发bug
    with(selCityNode){
       if(options.length>1){//除了"选择"option
            
             var length=options.length;//options.length在remove的过程中时刻在变化
                                       //删除的个数(次数:删除length-1次)是不变的
              for(var i=1;i<length;++i)
                options.remove(1);
          }
       }
    alert("length="+selCityNode.options.length);//3 //测试语句,以上使用with语句后,集合中的引用不能删除成功

    关于with语句的bug:http://www.neoease.com/javascript-with-statement/

  • 相关阅读:
    mac下配置adb环境变量
    Flutter——多行文字展开收起
    sourceTree报错:Updates were rejected because the tag already exists in the remote.
    股市赚钱就是这么简单
    鸿蒙手机版JNI实战(JNI开发、SO库生成、SO库使用)
    Mybatis、Mybatis Generator、Mybatis-Plus、Mybatis Plus Generator
    鸿蒙运行报错:Failure[INSTALL_PARSE_FAILED_USESDK_ERROR] Error while Deploying HAP
    MAC 下Android ROM 提取文件
    IDAPython 插件开发
    Android ollvm 集成
  • 原文地址:https://www.cnblogs.com/yiqiu2324/p/3285952.html
Copyright © 2011-2022 走看看