Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <html>
- <!-- Response to yahoo question. http://answers.yahoo.com/question/index?qid=20110721131750AAC7lcv -->
- <head>
- <title>Javascript Select All</title>
- <script type="text/javascript" language="Javascript">
- Object.prototype.hasClass = function(class){
- var hcN = [];
- var hcL = this.length;
- var hcI = 0;
- for(hcX=0;hcX<hcL;++hcX){
- var hcClass = this[hcX].getAttribute('class') || null;
- if(hcClass != null && hcClass.indexOf(class) !== (-1)){
- hcN[hcI++] =this[hcX];
- }
- }
- return hcN;
- }
- Object.prototype.setChecked = function(sCTF){
- var sCTF = (sCTF === undefined)? true : sCTF;
- var saL = this.length;
- for(var saI=0;saI<saL;++saI){
- if(sCTF === 'invert'){
- this[saI].checked = (this[saI].checked !== true);
- }else{
- this[saI].checked = sCTF;
- }
- }
- return this;
- }
- function cbSelectByClass(classId,cElem){
- if(cElem.checked){
- // Get All Input Elements With The Class 'cbOption', then "check" them
- document.getElementsByTagName('input').hasClass('cbOption').setChecked();
- }else{
- // Get All Input Elements With The Class 'cbOption', then "uncheck" them
- document.getElementsByTagName('input').hasClass('cbOption').setChecked(false);
- }
- }
- function cbInvert(classId){
- // Get All Input Elements With The Class 'cbOption', then "invert check" them
- document.getElementsByTagName('input').hasClass('cbOption').setChecked('invert');
- }
- function cbCheckAllChildren(elemId){
- var elem = document.getElementById(elemId);
- if(elem.CBChecked == undefined){
- elem.CBChecked = true;
- }else{
- elem.CBChecked = (elem.CBChecked !== true);
- }
- elem.getElementsByTagName('input').setChecked(elem.CBChecked);
- }
- </script>
- </head>
- <body>
- <form>
- <input type="checkbox" id="selectAll" onclick="Javascript: cbSelectByClass('cbOption',this);" /> Select All (By Class)<br />
- <input type="checkbox" id="selectInvert" onclick="Javascript: cbInvert('cbOption');" /> Invert All (By Class)<br />
- <input type="checkbox" name="option1" class="cbOption"> Option 1 <br />
- <input type="checkbox" name="option2" class="cbOption"> Option 2 <br />
- <input type="checkbox" name="option3" class="cbOption"> Option 3 <br />
- <input type="checkbox" name="option4" class="cbOption"> Option 4 <br />
- <input type="checkbox" name="option5" class="cbOption"> Option 5 <br />
- <input type="checkbox" name="option6" class="cbOption"> Option 6 <br />
- <input type="checkbox" name="option7" class="cbOption"> Option 7 <br />
- <input type="checkbox" name="option8" class="cbOption"> Option 8 <br />
- </form>
- Table 1: <a href="#" onclick="Javascript: cbCheckAllChildren('table1'); return false;">Check All Of Table 1</a> | <a href="#" onclick="Javascript: document.getElementById('table1').getElementsByTagName('input').setChecked('invert'); return false;">Invert Table 1</a>
- <table id="table1">
- <tr>
- <td><input type="checkbox" name="option1"> Option 1 </td>
- </tr>
- <tr>
- <td><input type="checkbox" name="option2"> Option 2 </td>
- </tr>
- <tr>
- <td><input type="checkbox" name="option3"> Option 3 </td>
- </tr>
- <tr>
- <td><input type="checkbox" name="option4"> Option 4 </td>
- </tr>
- <tr>
- <td><input type="checkbox" name="option5"> Option 5 </td>
- </tr>
- <tr>
- <td><input type="checkbox" name="option6"> Option 6 </td>
- </tr>
- <tr>
- <td><input type="checkbox" name="option7"> Option 7 </td>
- </tr>
- <tr>
- <td><input type="checkbox" name="option8"> Option 8 </td>
- </tr>
- </table>
- Table 2: <a href="#" onclick="Javascript: cbCheckAllChildren('table2'); return false;">Check All Of Table 2</a> | <a href="#" onclick="Javascript: document.getElementById('table2').getElementsByTagName('input').setChecked('invert'); return false;">Invert Table 2</a>
- <table id="table2">
- <tr>
- <td><input type="checkbox" name="option1"> Option 1 </td>
- </tr>
- <tr>
- <td><input type="checkbox" name="option2"> Option 2 </td>
- </tr>
- <tr>
- <td><input type="checkbox" name="option3"> Option 3 </td>
- </tr>
- <tr>
- <td><input type="checkbox" name="option4"> Option 4 </td>
- </tr>
- <tr>
- <td><input type="checkbox" name="option5"> Option 5 </td>
- </tr>
- <tr>
- <td><input type="checkbox" name="option6"> Option 6 </td>
- </tr>
- <tr>
- <td><input type="checkbox" name="option7"> Option 7 </td>
- </tr>
- <tr>
- <td><input type="checkbox" name="option8"> Option 8 </td>
- </tr>
- </table>
- </body>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement