Salve, ho provato a cercare una soluzione sul forum e su internet ma non ci sono riuscito. Provo a spiegare cosa dovrei fare e speriamo che qualcuno sappia aiutarmi
Ho 2 campi input di un form, il primo campo sceglie la cittadinanza di una persona, il secondo campo "dovrebbe" a seconda se è italiano oppure straniero far scegliere il luogo di rilascio del documento (se è italiano il comune dove è stato rilasciato, se è straniero la nazione).
Posto il codice che ho cosi forse si capisce meglio:
Fin qui tutto bene, posto anche i campi:codice://funzione jQuery che apre un div con i risultati estratti dal db di cio che si sta scrivendo nel campo che lancia la funzione tramite l'evento onkeyup function lookup(inputString,url) { if(inputString.length == 0) { // Hide the suggestion box. jQuery('#suggestions').hide(); } else { jQuery.get(url, {queryString: ""+inputString+""}, function(data){ if(data.length >0) { jQuery('#suggestions').show(); jQuery('#autoSuggestionsList').html(data); } }); } } //Funzione jQuery che riempie i campi indicati con la selezione effettuata in precedenza function riempin(cValue,pValue,f1,f2) { jQuery(f1).val(cValue); jQuery(f2).val(pValue); } // Funzione che chiude il div di selezione function chiudiDiv () { setTimeout("jQuery('#suggestions').hide();", 200); }
Ora quello che serve a me è: Quando viene selezionata la cittadinanza, se il valore scelto è "IT" allora onkeyup deve essere cosi: onkeyup="lookup(this.value,'getCom.php?f=documento _r');"codice:<div class="cb"> <div class="tlm">Cittadinanza</div> <? if (!isset($frm_cittadinanza)) { $frm_cittadinanza="IT"; } ?> <div class="i"><input type="text" tabindex="17" name="cittadinanza" size="20" value="<?=$frm_cittadinanza?>" id="cittadinanza" onkeyup="lookup(this.value,'getNazione.php?f=cittadinanza');" onfocus="svuota(this.id);" onblur="chiudiDiv();" <?=$ro_cittadinanza?>/></div> </div> <div class="cb"> <div class="tlm">Luogo di rilascio</div> <? if (!isset($frm_documento_r)) { $frm_documento_r="Inserisci Comune"; } ?> <div class="i"><input type="text" tabindex="21" name="documento_r" size="25" value="<?=$frm_documento_r?>" id="documento_r" onkeyup="lookup(this.value,'getCom.php?f=documento_r');" onfocus="svuota(this.id);" onblur="chiudiDiv();" <?=$ro_documento_r?>/></div> </div>
altrimenti deve essere cosi: onkeyup="lookup(this.value,'getNaz.php?f=documento _r');".
Io avevo pensato a una cosa del genere:
Purtroppo non funziona, ho provato anche altro trovato qua e la su internet ma niete da fare, tipo:codice:function riempin(cValue,pValue,f1,f2) { jQuery(f1).val(cValue); jQuery(f2).val(pValue); var val = 'this.value'; var metodo = 'getCom.php?f=documento_r'; var metodo1 = 'getNazione.php?f=documento_r'; if(f1=='cittadinanza' && cValue=='IT') { document.getElementById("documento_r").onkeyup=function() {lookup(val, metodo)}; } else { document.getElementById("documento_r").onkeyup=function() {lookup(val, metodo1)}; } }
Se qualcuno puo darmi una mano gli sarei veramente gratocodice:function riempin(cValue,pValue,f1,f2) { jQuery(f1).val(cValue); jQuery(f2).val(pValue); var metodo = $('input#documento_r').attr("onkeyup"); if(f1=='cittadinanza' && dValue=='IT') { $('input#documento_r').attr("onkeyup", metodo); } else { $('input#documento_r').removeAttr("onkeyup"); $('input#documento_r').attr("onkeyup", lookup(this.value, 'getNazione.php?f=documento_r')); }


Rispondi quotando