php - seleccionado - select multiple javascript
¿Cómo obtener múltiples valores seleccionados del cuadro de selección en php? (10)
Tengo un formulario html que tiene un cuadro de lista de selección desde el que puede seleccionar varios valores porque su propiedad múltiple está configurada en múltiple. Considere el método de formulario es ''GET''. El código html para el formulario es el siguiente:
<html>
<head>
<title>Untitled Document</title>
</head>
<body>
<form id="form1" name="form1" method="get" action="display.php">
<table width="300" border="1">
<tr>
<td><label>Multiple Selection </label> </td>
<td><select name="select2" size="3" multiple="multiple" tabindex="1">
<option value="11">eleven</option>
<option value="12">twelve</option>
<option value="13">thirette</option>
<option value="14">fourteen</option>
<option value="15">fifteen</option>
<option value="16">sixteen</option>
<option value="17">seventeen</option>
<option value="18">eighteen</option>
<option value="19">nineteen</option>
<option value="20">twenty</option>
</select>
</td>
</tr>
<tr>
<td> </td>
<td><input type="submit" name="Submit" value="Submit" tabindex="2" /></td>
</tr>
</table>
</form>
</body>
</html>
Quiero mostrar los valores seleccionados en el cuadro de lista de selección en la página display.php. Entonces, ¿cómo se accede a los valores seleccionados en la página display.php usando la $_GET[]
?
Arreglo mi problema con javascript + HTML. Primero verifico las opciones seleccionadas y las guardo en un campo oculto de mi formulario:
for(i=0; i < form.select.options.length; i++)
if (form.select.options[i].selected)
form.hidden.value += form.select.options[i].value;
Luego, recibo por correo ese campo y obtengo toda la cadena ;-) Espero que sea un trabajo para alguien más. Gracias a todos.
Cambio:
<select name="select2" ...
A:
<select name="select2[]" ...
Esto mostrará los valores seleccionados:
<?php
if ($_POST) {
foreach($_POST[''select2''] as $selected) {
echo $selected."<br>";
}
}
?>
Podrías hacer esto también. Funcionó para mí.
<form action="ResultsDulith.php" id="intermediate" name="inputMachine[]" multiple="multiple" method="post">
<select id="selectDuration" name="selectDuration[]" multiple="multiple">
<option value="1 WEEK" >Last 1 Week</option>
<option value="2 WEEK" >Last 2 Week </option>
<option value="3 WEEK" >Last 3 Week</option>
<option value="4 WEEK" >Last 4 Week</option>
<option value="5 WEEK" >Last 5 Week</option>
<option value="6 WEEK" >Last 6 Week</option>
</select>
<input type="submit"/>
</form>
Luego tome la selección múltiple del siguiente código PHP a continuación. Imprime los valores múltiples seleccionados en consecuencia.
$shift=$_POST[''selectDuration''];
print_r($shift);
Puede usar este código para recuperar valores de un cuadro combinado de selección múltiple
HTML:
<form action="c3.php" method="post">
<select name="ary[]" multiple="multiple">
<option value="Option 1" >Option 1</option>
<option value="Option 2">Option 2</option>
<option value="Option 3">Option 3</option>
<option value="Option 4">Option 4</option>
<option value="Option 5">Option 5</option>
</select>
<input type="submit">
</form>
PHP:
<?php
$values = $_POST[''ary''];
foreach ($values as $a){
echo $a;
}
?>
Si desea que PHP trate $_GET[''select2'']
como una matriz de opciones, simplemente agregue corchetes al nombre del elemento seleccionado de esta manera: <select name="select2[]" multiple …
Luego puedes acceder a la matriz en tu script PHP
<?php
header("Content-Type: text/plain");
foreach ($_GET[''select2''] as $selectedOption)
echo $selectedOption."/n";
$_GET
puede ser sustituido por $_POST
dependiendo del valor de <form method="…"
.
Utilice el siguiente programa para seleccionar los múltiples valores del cuadro de selección.
multi.php
<?php
print <<<_HTML_
<html>
<body>
<form method="post" action="value.php">
<select name="flower[ ]" multiple>
<option value="flower">FLOWER</option>
<option value="rose">ROSE</option>
<option value="lilly">LILLY</option>
<option value="jasmine">JASMINE</option>
<option value="lotus">LOTUS</option>
<option value="tulips">TULIPS</option>
</select>
<input type="submit" name="submit" value=Submit>
</form>
</body>
</html>
_HTML_
?>
value.php
<?php
foreach ($_POST[''flower''] as $names)
{
print "You are selected $names<br/>";
}
?>
<html>
<head>
<title>Untitled Document</title>
</head>
<body>
<form id="form1" name="form1" method="get" action="display.php">
<table width="300" border="1">
<tr>
<td><label>Multiple Selection </label> </td>
<td><select name="select2[]" size="3" multiple="multiple" tabindex="1">
<option value="11">eleven</option>
<option value="12">twelve</option>
<option value="13">thirette</option>
<option value="14">fourteen</option>
<option value="15">fifteen</option>
<option value="16">sixteen</option>
<option value="17">seventeen</option>
<option value="18">eighteen</option>
<option value="19">nineteen</option>
<option value="20">twenty</option>
</select>
</td>
</tr>
<tr>
<td> </td>
<td><input type="submit" name="Submit" value="Submit" tabindex="2" /></td>
</tr>
</table>
</form>
</body>
</html>
Puedes iterarlo directamente así
foreach ($_GET[''select2''] as $value)
echo $value."/n";
o puedes hacerlo asi
$selectvalue=$_GET[''select2''];
foreach ($selectvalue as $value)
echo $value."/n";
// CHANGE name="select2" TO name="select2[]" THEN
<?php
$mySelection = $_GET[''select2''];
$nSelection = count($MySelection);
for($i=0; $i < $nSelection; $i++)
{
$numberVal = $MySelection[$i];
if ($numberVal == "11"){
echo("Eleven");
}
else if ($numberVal == "12"){
echo("Twelve");
}
...
...
}
?>
foreach ($_POST["select2"] as $selectedOption)
{
echo $selectedOption."/n";
}