記錄我的旅程10之JavaScript Dom學習筆記

來源:互聯網
上載者:User

前言:下面我們接著旅程9繼續我們的JavaScript Dom征程10。這篇部落格是我的完結版,花費了將近兩個月的時間終於寫完了這個系統,在這裡我很高興我能夠堅持寫下來,同時也讓我學到了不讓技術點,但是人總是會淡忘的嗎,所以我以後還要非常認真的仔細看看這些部落格系列,同時也感謝閱讀我的部落格的博友,人雖然不多,但是我還是很高興的。下面是最後完結版所以我實現了幾個小例子

(1) 實現省市選擇的介面

 1     <script type="text/javascript"> 2  3         var data = { "甘肅": ["蘭州市", "平涼市", "張掖市"], "山東": ["濟南市", "青島市", "濰坊市"], "遼寧": ["瀋陽市", "鞍山市", "大連市"] }; 4  5         function loadRrov() { 6  7             var prov = document.getElementById("prov"); 8  9             for (var key in data) {10 11                 var option = document.createElement("option");12 13                 option.value = key;14 15                 option.innerText = key;16 17                 prov.appendChild(option);18 19             }     }20 21         function provChange() {22 23             var prov = document.getElementById("prov");24 25             var city = document.getElementById("city");26 27             //先清除舊的城市列表28 29             city.options.length = 0;30 31             for (var i = 0; i < city.childNodes.length; i++) {32 33                 var option = city.childNodes[i];34 35                 city.removeChild(option);36 37             }38 39             var proName = prov.value;40 41             if (proName == "none") {  //如果選擇的是請選擇省,則不顯示內容,特殊處理42 43                 return;44 45             }46 47             var cities = data[proName]; //取出的內容["蘭州市", "平涼市", "張掖市"]48 49             for (var i = 0; i < cities.length; i++) {50 51                 var option = document.createElement("option");52 53                 option.value = cities[i];54 55                 option.innerText = cities[i];56 57                 city.appendChild(option);58 59             }    }60 61     </script>62 63 <body onload="loadRrov()">64 65     <select id="prov" onchange="provChange()">66 67         <option  value="none">請選擇省</option>68 69     </select>&nbsp;&nbsp;70 71     <select id="city"></select>72 73 </body>

 

(2) 歌曲列表(checkbox+label)全選,全不選,反選,只針對一個層中的資料

   

 1  <script type="text/javascript"> 2  3         function selAll() { 4  5             var playlist = document.getElementById("playlist"); 6  7             var inputs = playlist.getElementsByTagName("input"); 8  9             for (var i = 0; i < inputs.length; i++) {10 11                 var input = inputs[i];12 13                 if (input.type == "checkbox") {14 15                     input.checked = "checked";16 17                 }18 19             }   }20 21         function deselAll() {22 23             var playlist = document.getElementById("playlist");24 25             var inputs = playlist.getElementsByTagName("input");26 27             for (var i = 0; i < inputs.length; i++) {28 29                 var input = inputs[i];30 31                 if (input.type == "checkbox") {32 33                     input.checked = "";34 35                 }36 37             }  }38 39         function reverSelALL() {40 41             var playlist = document.getElementById("playlist");42 43             var inputs = playlist.getElementsByTagName("input");44 45             for (var i = 0; i < inputs.length; i++) {46 47                 var input = inputs[i];48 49                 if (input.type == "checkbox") {50 51                     //if(input.type=="checked") //期望的是如果別選中則"checked",但是調試發現不是這樣的52 53                     if (input.type == true) {54 55                         //input.type='';56 57                         input.checked = false;58 59                     }60 61                     else {62 63                         input.checked = true;64 65                     }     }    }  }66 67     </script>68 69     <div id="playlist">70 71         <input type="checkbox" id="p1" /><label for="p1">曾靜最美</label>&nbsp;&nbsp;72 73         <input type="checkbox" id="p2" /><label for="p2">兄弟</label>&nbsp;&nbsp;74 75         <input type="checkbox" id="p3" /><label for="p3">笑傲江湖</label>76 77         <p>78 79             <input type="button" value="全選" onclick="selAll()" />80 81             <input type="button" value="全不選" onclick="deselAll()" />82 83             <input type="button" value="反選" onclick="reverSelALL()" />84 85         </p>86 87     </div>

 

 (3) 許可權選擇頁面,選擇,撤回,全部選擇,全部撤回,代碼參考”實現省市選擇介面”,因為可能多選,判斷選擇項和單選的會有不同

 

 1   <script type="text/javascript"> 2  3         function moveSelected(selectSrc, selectDest) {  //selectSrc是源select,selectDest是目標select 4  5             //for(var i=0;i<selectSrc.childNodes.length;i++) //注意刪除的順序 6  7             for (var i = selectSrc.childNodes.length - 1; i >= 0; i--) { 8  9                 var option = selectSrc.childNodes[i];10 11                 if (option.selected == true) {12 13                     selectSrc.removeChild(option);14 15                     option.selected = false;16 17                     selectDest.appendChild(option);18 19                 }   }   }20 21     </script>22 23     <select style="float:left; width:15%; height:100px;" id="select1" multiple="multiple">24 25         <option>添加</option>26 27         <option>刪除</option>28 29         <option>修改</option>30 31         <option>查詢</option>32 33         <option>列印</option>34 35     </select>36 37     <div style="float:left; width="15%">38 39         <input type="button" style="float:left; width:100%" value=">" onclick="moveSelected(document.getElementById('select1'),document.getElementById('select2'))" />40 41         <input type="button" style="float:left; width:100%" value="<" onclick="moveSelected(document.getElementById('select2'),document.getElementById('select1'))" />42 43         <input type="button" style="float:left; width:100%" value=">>" />44 45         <input type="button" style="float:left; width:100%" value="<<" />46 47     </div>48 49     <select style="float:left; height: 100px; width: 119px;" id="select2"  multiple="multiple"></select>

 

 

這個系列的所有原始碼是:http://download.csdn.net/detail/hanyinglong/4483109

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.