La spiegazione del codice è nei commenti:
codice:
<head>
  <style type="text/css">
    /* in partenza le select sono nascoste */
    select {visibility:hidden;}
  </style>
  
  <script type="text/javascript">
    function switchDataOra(valoreChk) {
      //Se il check è spuntato (valoreChk=true) si imposta la variabile visib="visible" per visualizzare le select
      //Al contrario si setta visib="hidden" per nasconderle
      var visib = valoreChk ? "visible" : "hidden";
      
      //Per comodità si utilizza la variabile oForm
      var oForm = document.getElementById("idForm");

      //Impostazione dell'attributo di stile "visibility" dei campi da mostrare/nascondere
      oForm.giorno.style.visibility = visib;
      oForm.mese.style.visibility   = visib;
      oForm.ora.style.visibility    = visib;
      oForm.minuti.style.visibility = visib;
    }
  </script>
</head>
<body>
  <form id="idForm">
    <input name="dataEora" type="checkbox" onclick="switchDataOra(this.checked)"/>
    <select name="giorno">
      <option>1</option>
      <option>2</option>
    </select>
    <select name="mese">
      <option>1</option>
      <option>2</option>
    </select>
    <select name="ora">
      <option>1</option>
      <option>2</option>
    </select>
    <select name="minuti">
      <option>1</option>
      <option>2</option>
    </select>
  </form>
<body>