www.webdeveloper.com
Results 1 to 9 of 9

Thread: Hide Columns in tables based on variables

  1. #1
    Join Date
    May 2010
    Posts
    45

    Hide Columns in tables based on variables

    I have a table with 1 row and 5 columns. I want to hide each column based on specific variables in the web page. Is there a way to do that. I tried a <div> tag and the below code, but it says you cannot put a <div> tag in a table etc.

    Code:
    document.getElementById('hiddenYearLeft').style.display = "none";
    document.getElementById('hiddenYearLefta').style.display = "none";

  2. #2
    Join Date
    Sep 2009
    Location
    London
    Posts
    51

    Exclamation

    You cannot place <td> in a <div>. Why are you not using <div> instead of a table.

  3. #3
    Join Date
    May 2010
    Posts
    45
    I am new to Html/CSS and not sure how I would do a DIV tag in a table style format?

  4. #4
    Join Date
    Mar 2010
    Posts
    2,803
    Quote Originally Posted by tvb2727 View Post
    I have a table with 1 row and 5 columns. I want to hide each column based on specific variables in the web page. Is there a way to do that. I tried a <div> tag and the below code, but it says you cannot put a <div> tag in a table etc.

    Code:
    document.getElementById('hiddenYearLeft').style.display = "none";
    document.getElementById('hiddenYearLefta').style.display = "none";
    post all your code so we can see what is going on and not just bits and pieces of it.

  5. #5
    Join Date
    May 2010
    Posts
    45
    Here is the code:

    Code:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <title>Table Hide Help</title>
    <script type="text/javascript">
    <!--
    
    
    
    
    
    //-->
    </script>
    <style type="text/css">
    
    h2 { color: #0000A0;}
        h5{font-family:"Arial"; font-size:16px;}
    h3 { color: #FF0000; font-size: 22px;}
    </style>
    
    </head>
    <body>
    <form name="main">
    
    <h2>
    <table  id="tblTimer" cellpadding="6px" bordercolor="#000000" cellspacing="10" align="center" width="500px"  style="margin: 70 0 0 0" border="5">
    <!--<caption style="font-weight: bold; ">Time Left</caption>-->
    <div id='hiddenYearLeft'>
    <th>Years Left</th>
    </div> 
    <th>Days Left</th>
    <th>Hours Left</th>
    <th>Minutes Left</th>
    <th>Seconds Left</th>
    <tr >
    
      <div id='hiddenYearLefta'><td id="cellYears" align="center" >0</td></div> 
            <td id="cellDays"  align="center" >0</td>
            <td id="cellHours" align="center">0</td>       
            <td id="cellMinutes" align="center">0</td>
            <td id="cellSeconds" align="center">0</td>    
        </tr>
    
    </table>
    </h2>
    <hr />
    
    
    </form>
    </body>
    </html>

  6. #6
    Join Date
    Mar 2010
    Posts
    2,803
    Quote Originally Posted by tvb2727 View Post
    .......Is there a way to do that.....
    You haven't yet specified which columns you want to hide and what variables to use to hide those columns.

    So all I can say at this stage to answer the above question is: yes, there is

    I don't have time to look at this anymore. Hopefully someone else will come along to help you.

  7. #7
    Join Date
    May 2010
    Posts
    45
    Sorry. Hopefully someone will.

    Code:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <title>Table Hide Help</title>
    <script type="text/javascript">
    <!--
        var hide = 0;
        function hideyear() {
    
            if (hide == 0) {
                window.alert("hide year code?");
                hide = 1;
            } else {
            window.alert(" un-hide year code?")
            hide = 0;
            }
       
    
        }
    
    
    
    //-->
    </script>
    <style type="text/css">
    
    h2 { color: #0000A0;}
        h5{font-family:"Arial"; font-size:16px;}
    h3 { color: #FF0000; font-size: 22px;}
    </style>
    
    </head>
    <body>
    <form name="main">
    
    <h2>
    <table  id="tblTimer" cellpadding="6px" bordercolor="#000000" cellspacing="10" align="center" width="500px"  style="margin: 70 0 0 0" border="5">
    <!--<caption style="font-weight: bold; ">Time Left</caption>-->
    <div id='hiddenYearLeft'>
    <th>Years Left</th>
    </div> 
    <th>Days Left</th>
    <th>Hours Left</th>
    <th>Minutes Left</th>
    <th>Seconds Left</th>
    <tr >
    
      <div id='hiddenYearLefta'><td id="cellYears" align="center" >0</td></div> 
            <td id="cellDays"  align="center" >0</td>
            <td id="cellHours" align="center">0</td>       
            <td id="cellMinutes" align="center">0</td>
            <td id="cellSeconds" align="center">0</td>    
        </tr>
    
    </table>
    </h2>
    <hr />
    
    <input type="button" id="hide" value="Hide Year Column" onclick="hideyear();" />
    </form>
    </body>
    </html>

  8. #8
    Join Date
    Mar 2010
    Posts
    2,803
    ok, no problem .

    After squeezing the additional information out of you , maybe use this as a template:

    PHP Code:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
    >
    <
    html xmlns="http://www.w3.org/1999/xhtml">
    <
    head>
    <
    title>Table Hide Help</title>
    <
    script type="text/javascript">
    <!--

        var 
    hide 0;

        function 
    hideyear() {
            if (
    hide == 0) {
                
    document.getElementById("cellYears").style.display "none";
                
    document.getElementById("thCellYears").style.display "none";
                
    hide 1;
            } else {
            
    document.getElementById("cellYears").style.display "block";
            
    document.getElementById("thCellYears").style.display "block";
            
    hide 0;
            }
       
        }
     
    //-->
    </script>
    <style type="text/css">
    h2 { color: #0000A0;}
        h5{font-family:"Arial"; font-size:16px;}
    h3 { color: #FF0000; font-size: 22px;}
    </style>
    </head>
    <body>
    <form name="main">
    <h2>

    <table  id="tblTimer" cellpadding="6px" bordercolor="#000000" cellspacing="10" align="center" width="500px"  style="margin: 70 0 0 0" border="5">
    <th id="thCellYears">Years Left</th>
    <th>Days Left</th>
    <th>Hours Left</th>
    <th>Minutes Left</th>
    <th>Seconds Left</th>
    <tr >
      <td id="cellYears" align="center" >0</td></div> 
            <td id="cellDays"  align="center" >0</td>
            <td id="cellHours" align="center">0</td>       
            <td id="cellMinutes" align="center">0</td>
            <td id="cellSeconds" align="center">0</td>    
    </tr>
    </table>

    </h2>
    <hr />
    <input type="button" id="hide" value="Hide Year Column" onclick="hideyear();" />
    </form>
    </body>
    </html> 
    Another way would be to give the <th> <td> pairs a class name and get the elements to hide/unhide by class.

  9. #9
    Join Date
    May 2010
    Posts
    45
    Ha Ha. Thanks a lot. Exactly what I needed!

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
HTML5 Development Center



Recent Articles