Tom: select selected makierung

Beitrag lesen

Hello,

Und noch eine Version

http://forum.de.selfhtml.org/archiv/2005/8/t113266/#m718620

Die folgende Nachricht zum Thema stammt von: Tom, 12. 08. 2005, 11:43

Hello,

Da war was verloren gegangen...

»» Um die Selectbox also zu erzeugen, benötigst du mindestens vier Angaben:
»»
»» in meinem Beispiel kommt ein Array mit den CSS-Klassennamen dazu, das man
»» vorher noch füttern muss...
»»
»» $_options[1] = 'Hotel';
»» $_options[2] = 'Gasthof';
»» $_options[3] = 'Pension';
»» $_options[4] = 'Ferienwohnung';
»» $_options[5] = 'Ferienzimmer';
»» $_options[6] = 'Schlafsaal';
»» $_options[7] = 'Wohnwagen';
»» $_options[8] = 'Zelt';
»»
»» if (isset($_POST['unterkunft']) and is_array($_POST['unterkunft']))
»» {
»»   $_selection = $_POST['unterkunft'];
»» }
»» else
»» {
»»   $_selection[] = 1;
»» }
»»
»» $_classes['select'] = 'sel_unterkunft';
»» $_classes['option'] = 'opt_unterkunft';
»»
»»
»» $select = make_selectbox('unterkunft','M',$_options,$_selection,$_classes);
»»
»»
»» Die Klassen müssen natürlich im CSS definiert sein:

#------------------------------------------------------------------------------
function make_selectbox
#------------------------------------------------------------------------------
(
 $name,               # Name der Selectbox ohne []
 $type,               # S für sinlge, M für Multiple
 $_options,           # assoziatives Array mit den möglichen Optionen
 $_selection=array(), # indiziertes Array mit den letzten Post-Werten (Value=" ")
 $_classes=array()    # Array mit den Klassendefinitionen, die eingebunden werden
)
{
  if (strtolower($type)=='s' and count($_selection) > 0)
  {
    reset($_selection);
    $_selection = each($_selection);
  }

$select = "\n<select name="".trim($name).'[]"'.
                      ((!empty($_classes['select']))?' class="'.$_classes['select'].'"':'').
                      ((strtolower($type)=='m')?' multiple':'').">\n";

foreach($_options as $key => $val)
  {
    $select.='  <option'.(!empty($_classes['option'])?' class="'.$_classes['option'].'"':'')."\n".
             "          value="$key"".(in_array($key,$_selection)?' selected="selected"':'').'>'.
                         htmlentities($val)."</option>\n";
  }

$select .= "</select>\n";

return $select;
}

»»
»»   <style type="text/css">
»»   <!--
»»   .sel_unterkunft
»»   {
»»     font-family:Century Gothic,Helvetica,Arial,sans-serif;
»»     font-size:12pt;
»»     width:200px;
»»     height:10em;
»»   }
»»
»»   -->
»»   </style>
»»
»»
»» Und dann brauchst Du $select später nur noch im HTML-Teil auszugeben, so wie du das ja jetzt auch schon machst.
»»
»»
»» Harzliche Grüße vom Berg
»» esst mehr http://www.harte-harzer.de
»»
»» Tom

Harzliche Grüße vom Berg
esst mehr http://www.harte-harzer.de

Harzliche Grüße vom Berg
http://www.annerschbarrich.de

Tom

--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau