/** * 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; }