Example #1
0
 /**
  * Luo label+input (type='checkbox') -elementit! Huom! $maar_array koskee
  * input-elementtiä. Label-elementti tarvitsee inputin id-arvon, joten
  * ellei sellaista ole, sellainen arvotaan ja lisätään input-elementille.
  * Label-elementille ei tässä voi asettaa määritteitä. Tarvittaessa voi
  * muuttaa lisäämällä toinen maaritetaulukko labelia varten.
  * @param type $painiketeksti
  * @param type $maar_array
  * @return type 
  */
 public static function luo_labeled_checkbox($teksti, $maar_array)
 {
     $koodi = "";
     // Varmistetaan, että taulukko kunnossa:
     if (!isset($maar_array) || !is_array($maar_array)) {
         $maar_array = array();
     }
     // Jotta label-elementti voidaan kiinnittää radiopainikkeeseen,
     // tarvitaan tietää radion id:n arvo. Ellei sellaista löydy,
     // luodaan sellainen (pitäisi olla yksilöllinen)
     $id = Maarite::etsi_id($maar_array);
     if ($id === Maarite::$EI_LOYTYNYT) {
         // Arvotaan luku väliltä 100000-1000000
         $id = rand(100000, 1000000);
         // Lisätään id taulukkoon:
         array_push($maar_array, new Maarite("id", $id, false));
     }
     $koodi .= Html::luo_label_for($id, $teksti, "");
     // Lisätään määritteisiin type='checkbox'
     $maar_array = Maarite::lisaa_maarite(Maarite::type("checkbox"), $maar_array);
     $koodi .= Html::luo_input($maar_array);
     return $koodi;
 }