- Home
- Categorie
- Coding e Sistemistica
- Coding
- Convertire funzione checkbox in select
- 
							
							
							
							
							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