- Home
- Categorie
- Coding e Sistemistica
- PHP
- Convertire funzione checkbox in select
-
Convertire funzione checkbox in select
ciao, ho bisogno di un'aiuto
vorrei modificare questa funzione in modo che nel form appaia un campo select anzichè tanti checkbox
grazie$i = 0;
foreach ($this->serverList as $value) { if ($value['check'] == true) $checked=" checked='checked' "; else $checked = " "; echo '<td><input type="checkbox" name="tld_'.$value['tld'].'"'.$checked.' />.'.$value['tld'].'</td>'; $i++; if ($i > 4) { $i = 0; echo '</tr><tr>';
-
Cioè se te hai tipo 5 checkbox.
C1="Valore1"
C2="Valore2"
C3="Valore3"
C4="Valore4"
C5="Valore5"E Attivo 1,3,5.
Deve comparire una select con Valore1,Valore3,Valore5?
-
si, esattamente
-
Una cosa del genere?
[php]
<html>
<head>
<title>Test</title>
<script type="text/javascript">
function generaSelect(voci)
{
var mySelect = document.getElementById('selezione-label');
var stringa="";
for(indice=0;indice<voci.length;indice++)
{
if(voci[indice].checked==true)
{
stringa+="<option value="+voci[indice].value+">"+voci[indice].value+"</option>";
}
}
mySelect.innerHTML="<select id='selezione' name='selezione'>"+stringa+"</select>";
}
</script>
</head>
<body>
<form id="form" name="form">
<div><input type="checkbox" name="voci" id="voci" onclick="generaSelect(document.form.voci)" value="Valore 1"> Valore 1</div>
<div><input type="checkbox" name="voci" id="voci" onclick="generaSelect(document.form.voci)" value="Valore 2"> Valore 2</div>
<div><input type="checkbox" name="voci" id="voci" onclick="generaSelect(document.form.voci)" value="Valore 3"> Valore 3</div>
<div><input type="checkbox" name="voci" id="voci" onclick="generaSelect(document.form.voci)" value="Valore 4"> Valore 4</div>
<div><input type="checkbox" name="voci" id="voci" onclick="generaSelect(document.form.voci)" value="Valore 5"> Valore 5</div>
<div>SELEZIONE
<label id="selezione-label">
<select id="selezione" name="selezione"></select>
</label>
</div>
</form>
</body>
</html>
[/php]
-
no, il checkbox devo eliminarlo completamente e al suo posto avere solo il select
per capirci meglio devo trasformarlo in una cosa del genere solo che così com'è sotto mi crea tanti select quanti erano i checkbox, io vorrei avere un solo selectfunction tldListH(){
$i = 0;
foreach ($this->serverList as $value) {
if ($value['check'] == true) $checked=" checked='checked' ";
else $checked = " ";echo '<td><select><option value='.$value['tld'].'>'.$value['tld'].'</option></td>'; $i++; if ($i > 4) { $i = 0; echo '</tr><tr>'; } }
}
-
Ma cosi una volta checcati non spariscono?
E se voglio tirarlo via dalla select?Quindi alla fine non è come ora solo che bisogna anche eliminare/non visualizzare la checkbox che viene abilitata?
-
esattamente, vorrei eliminare completamente la checkbox e sostituirla con il select, solo che non riesco a capire come fare
-
lo script che voglio modificare è questo
-
Una versione del genere?
[PHP]
<html>
<head>
<title>Test</title>
<script type="text/javascript">
function generaSelect(voci)
{
var mySelect = document.getElementById('selezione-label');
var stringa="";
for(indice=0;indice<voci.length;indice++)
{
if(voci[indice].checked==true)
{
stringa+="<option value="+voci[indice].value+">"+voci[indice].value+"</option>";
var divContenitore=document.getElementById('div'+(indice+1));
divContenitore.style.display="none";
}
}
mySelect.innerHTML="<select id='selezione' name='selezione'>"+stringa+"</select>";
}
</script>
</head>
<body>
<form id="form" name="form">
<div id="div1"><input type="checkbox" name="voci" id="voci" onclick="generaSelect(document.form.voci)" value="Valore 1"> Valore 1</div>
<div id="div2"><input type="checkbox" name="voci" id="voci" onclick="generaSelect(document.form.voci)" value="Valore 2"> Valore 2</div>
<div id="div3"><input type="checkbox" name="voci" id="voci" onclick="generaSelect(document.form.voci)" value="Valore 3"> Valore 3</div>
<div id="div4"><input type="checkbox" name="voci" id="voci" onclick="generaSelect(document.form.voci)" value="Valore 4"> Valore 4</div>
<div id="div5" ><input type="checkbox" name="voci" id="voci" onclick="generaSelect(document.form.voci)" value="Valore 5"> Valore 5</div>
<div>SELEZIONE
<label id="selezione-label">
<select id="selezione" name="selezione"></select>
</label>
</div>
</form>
</body>
</html>
[/PHP]
-
no, niente del genere
io vorrei che automaticamente i dati finissero nel select, senza più vedere un solo checkbox
-
Dai prima o poi ci arriviamo...
Scusa sto facendo altre cose e non leggendo bene...[PHP]
<html>
<head>
<title>Test</title>
<script type="text/javascript">
function creaSelect(voci)
{
var mySelect = document.getElementById('selezione-label');
var stringa="";
for(indice=0;indice<voci.length;indice++)
{
stringa+="<option value="+voci[indice].value+">"+voci[indice].value+"</option>";
var divContenitore=document.getElementById('div'+(indice+1));
divContenitore.style.display="none";
}
mySelect.innerHTML="<select id='selezione' name='selezione'>"+stringa+"</select>";
}
</script>
</head>
<body onload="creaSelect(document.form.voci)">
<form id="form" name="form">
<div id="div1"><input type="checkbox" name="voci" id="voci" value="Valore 1"> Valore 1</div>
<div id="div2"><input type="checkbox" name="voci" id="voci" value="Valore 2"> Valore 2</div>
<div id="div3"><input type="checkbox" name="voci" id="voci" value="Valore 3"> Valore 3</div>
<div id="div4"><input type="checkbox" name="voci" id="voci" value="Valore 4"> Valore 4</div>
<div id="div5"><input type="checkbox" name="voci" id="voci" value="Valore 5"> Valore 5</div>
<div>SELEZIONE
<label id="selezione-label">
<select id="selezione" name="selezione"></select>
</label>
</div>
</form>
</body>
</html>
[/PHP]
-
tranqui, anzi, grazie
si qualcosa del genere
anche se preferirei, se fosse possibile, eliminare del tutto o checkbox e richiamare i dati con il select
-
risolto, grazie
function tldListH(){
$i = 0; echo '<tr><td><select name="tld_com">'; foreach ($this->serverList as $value) { if ($value['check'] == true) $checked=" checked='checked' "; else $checked = " "; echo '<option value='.$value['tld'].'>'.$value['tld'].'</option>'; $i++; if ($i > 100) { $i = 1; echo '</select></td><t/r>'; } }
}
-
non è vero, non ho risolto, in realtà funziona solo la ricerca di tld_com, questo perchè viene richiamato in <select name="tld_com">, infatti se lo sostituisco con <select name="tld_it"> allora funziona la ricerca solo sul tld_it, le altre estensioni non vengono proprio considerate.
allora ho provato a fare così,
<select name="tld_'.$value['tld'].'">
ma nienete da fare comunque, qualche consiglio?, grazie
-
Ciao, scusa la mia ignoranza, se tu conosci già i campi, perchè non li metti prima in un array e poi li schiatti nella select?
Penso di aver capito bene? O forse no
Ciao da danny