PHP - Mantener item seleccionado en select

 
Vista:
Imágen de perfil de Bladimir

Mantener item seleccionado en select

Publicado por Bladimir (88 intervenciones) el 30/07/2015 22:27:55
Hola a todos. Tengo un select el cual lleno con codigo php. Los item son siempre los mismos. El asunto es que no hallo como mantener el item seleccionado al recargar la pagina. El codigo que estoy usando es el siguiente:
<select name="criterio" id="criterio" onChange="this.form.submit()" >
<?php
$selected_cri = isset($_POST['criterio']) ? $_POST['criterio'] : null;
echo "<option value='0'>Seleccione criterio</option>";
echo "<option value='1'>Todas</option>";
echo "<option value='2'>Consultas</option>";
echo "<option value='3'>ECVPO</option>";
echo "<option value='4'>MAPA</option>";
echo "</select>";
?>
¿Como podria modificar este codigo para mantener el item seleccionado al recargar la pagina?. Gracias de antemano. saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isau miguel

Mantener item seleccionado en select

Publicado por Isau miguel (14 intervenciones) el 01/08/2015 05:40:21
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php
   echo "<form action='select.php' method='post'>";
 
 function frm_select($name, $arr_txt, $arr_vals, $default='', $extra_tag=''){
  $tmp="<select id='$name' name='$name' $extra_tag>";
  $items=count($arr_txt);
  if($items!=count($arr_vals)) return $tmp."<option>ERR! en el array de valores</select>";
  for($i=0;$i<$items;$i++){
     	$sel=' selected';
	$val=$arr_vals[$i];
	if(is_array($default)){
		if(!in_array( strtolower($val), array_lower($default) )) $sel='';
	}else{
		if(!eregi($val,$default)) $sel='';
	}
        $tmp.="<option value='$val'$sel>".$arr_txt[$i]."</option>";
  }
  return $tmp.'</select>';
 }
 $afecto =  $_POST['afecto'];
 $arr_afecto_txt= array("Seleccione criterio","Todas","Consultas","ECVPO","MAPA");
 $arr_afecto_vals=array("0","1","2","3","4");
 
     echo "<table>";
     echo "<tr> <td >Afecto a<br>Impuesto<br>".frm_select('afecto',$arr_afecto_txt,$arr_afecto_vals,$afecto);
     echo "<tr> <td ><input name='enviar' type='submit' value='ENVIAR DATOS'>";
 
     echo "</table>";
 
?>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de isau miguel

Mantener item seleccionado en select

Publicado por isau miguel (14 intervenciones) el 01/08/2015 05:45:42
bladimir esta función la puedes poner en una librería e invocarla desde cualquier script de php y t sirve para cualquier select q deseas usar.... tan solo debes de usar un arreglo deferente para cada SELECT

ESPERO RESOLVER TU PROBLEMA

si desea ver como funciona entrar aquí

www.avancesinformaticos.net/select.php
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar