Impostare max input number al variare di una select
Impostare max input number al variare di una select postato il 31/08/2015 23:45:08 nel forum programmazione, open source e hosting
Salve a tutti. Ho un problema che non riesco a risolvere e sono qui a chiedere cortesemente il vostro aiuto. Vi riporto prima il codice incriminato (da sistemare, ma che comunque quello che gli ho chiesto di fare fino a ora lo fa) e poi vi spiego il mio problema.
Codice
<?php
$record = mylsq_query("SELECT id_gilda, nome, cassa FROM gilda ORDER BY nome ASC, id_gilda ASC");
?>
<select name="gilda">
<?php
while($guild=mysql_fetch_array($record)){
echo '<option value="'.$guild['id_gilda'].'">'.$guild['nome'].'</option>';
} //while
?>
</select>
<input type="number" value="0" min="0">
<inpu type="submit" value="ritira">
ovviamente il tutto è dentro un form.
Problema
Attualmente l'input number ha sono un minimo valore di inserimento. Io vorrei inserire anche un valore massimo che deve coincidere con la cassa della gilda selezionata.
Esempio:
- Gilda A ha 500 in cassa
- Gilda B ha 1000 in cassa
Se nella select ho selezionato la gilda A, allora il max dell'input tex deve essere 500; se ho selezionato la gilda B deve essere 1000.
Spero di essere stato abbastanza chiaro. Nel caso così non fosse proverò a spiegarmi meglio. Spero che qualcuno di voi sia in grado di aiutarmi. Grazie.
Pagine → 1
01/09/2015 00:56:34 e modificato da mrpanda il 01/09/2015 00:57:39
<select onchange="CambiaValoreMassimale()" name="gilda">
<option data-cassa="10" value="1">Gilda 1</option>
<option data-cassa="20" value="2">Gilda 2</option>
<option data-cassa="30" value="3">Gilda 3</option>
<option data-cassa="40" value="4">Gilda 4</option>
</select>
<input type="number" value="0" min="0" max="10">
<input type="submit" value="ritira">
<script type="text/javascript">
function CambiaValoreMassimale() {
valore = $("select[name='gilda']").val();
cassa = $("select[name='gilda'] option[value='"+valore+"']").data("cassa");
$("input[type='number'").attr("max", cassa);
return(false);
}
</script>
Prova qualcosa del genere...
01/09/2015 11:11:03
Innanzitutto grazie per aver risposto.
Il codice funziona alla perfezione. Sapevo di dover usare il javascript, ma ogni mio tentativo era andato a vuoto (anche perché non lo conosco benissimo come linguaggio, so fare qualcosina e basta). All'attributo data nell'option non ci avevo proprio pensato.
Grazie mille per il tuo aiuto. 😁
p.s. nell'ultima riga del codice javascript non hai chiuso la parentesi quadra dell'input type:
$("input[type='number'").attr("max", cassa);
si tratta di una svista (dato che immagino avrai scritto velocemente il codice) o va proprio così (e in tal caso mi spiegheresti perché)?
01/09/2015 20:16:21
L'ho scritto qui sull'editor...
ovviamente come hai notato tu va chiusa la quadra :P
$("input[type='number']").attr("max", cassa);
Discussione seguita da
Pagine → 1
Rispondi alla Discussione Segui Discussione Inoltra Discussione Forum Programmazione, Open Source e Hosting Elenco Forum
Articoli, Interviste e altre Risorse!
Fallen Gods ↗
World of the Sea Battle ↗
Cafuné ↗
State of Survival ↗