Auto-deschidere html select list creat cu php

Coduri intrebari, probleme legate de HTML, XHTML si CSS
andras
Mesaje: 430

Auto-deschidere html select list creat cu php

Salut,
Am adaptat o functie de pe acest site care incarca date cu Ajax() si in functie de rezultat creeaza combo-uri (select).
Intrebare: pot face cumva ca la creerea unui <select> acesta la afisare sa primeasca automat focusul si toate optiunile sa fie vizibile? Adica un autoclick, sa se deschida imediat si sa nu fiu nevoit sa dau click sa-mi afiseze optiunile. Am incercat cu proprietatea autofocus="autofocus" dar nu reactioneaza. Multumesc.
Exemplu (simplificat):

Cod: Selectaţi tot

<?php
if ($result->num_rows > 0) {
  // seteaza evenimentul "onchange" care se adauga in <select>
 if     ($col !="nume"){
 if (isset($_SESSION['tipuser']) && $_SESSION['tipuser']=="client") {    
     $onchg = $next_col!==null ? " onchange=\"ajaxReq('$next_col', this.value); reset1();\"" : '';    
 } else {
     $onchg = $next_col!==null ? " onclick=\"ajaxReq('$next_col', this.value); reset1();\"" : '';    
 }              
 }
else {    
     $onchg = $next_col!==null ? " onchange=\"ajaxReq('$next_col', this.value); reset1();\"" : '';              
 }
//echo $onchg;
 if (isset($_SESSION['tipuser']) && $_SESSION['tipuser']=="client") {
 if     ($col !="nume"){    
     if($col!=$ar_cols[$last_key]) {
         $re_html = $col. ': <select style="width: 200px;margin-right: 25px;" autofocus="autofocus" id="'. $col. '" name="'. $col. '"'. $onchg. '><option>- - -</option> ';
   }
 }
 } 
 else{
     if     ($col !="nume"){    
     if($col!=$ar_cols[$last_key]) {
         $re_html = $col. ': <select style="width: 200px;margin-right: 25px;" autofocus="autofocus" id="'. $col. '" name="'. $col. '"'. $onchg. '><option >- - -</option> ';
   }
 }else{
 $re_html = $col. ': <select style="width: 130px;margin-right: 25px;" autofocus="autofocus" id="'. $col. '" name="'. $col. '"'. $onchg. '><option >- - -</option>';
 }
 } 
  while($row = $result->fetch_assoc()) {
    // daca e ultima coloana, returneaza datele din ea, altfel le adauga in tag-uri OPTION
    if($col==$ar_cols[$last_key]) {$re_html .= $row[$col];
$re_html .= '<br />'; 
  }    
    else $re_html .= '<option value="'. $row[$col]. '" >'. $row[$col]. '</option>';
  }
  if($col!=$ar_cols[$last_key]) $re_html .= '</select> ';        // inchide lista Select
}   
?>
-Am incercat si cu functii Javascript (daca am onclick()), functiile JS de la onclick se executa dar nu deschide efectiv combo-ul.

MarPlo Mesaje: 4343
Salut
Poti sa folosesti atributul "size" in tagul <select> cu numarul de optiuni care sa fie vizibile.
Exemplu:

Cod: Selectaţi tot

<select size="4">
  <option value="v1">Op 1</option>
  <option value="v2">Op 2</option>
  <option value="v3">Op 3</option>
  <option value="v4">Op 4</option>
</select>
Rezultat:

In codul php ar veni asa (simplificat):

Cod: Selectaţi tot

$re_html = '<select size="'. $result->num_rows .'"><option>...</option>'; 

andras Mesaje: 430
Ce simplu! N-am vazut padurea din cauza copacilor. Multumesc!

Subiecte similare