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:
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);
}
Fin qui tutto bene, posto anche i campi:
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>
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');"
altrimenti deve essere cosi: onkeyup="lookup(this.value,'getNaz.php?f=documento _r');".
Io avevo pensato a una cosa del genere:
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)};
}
}
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 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'));
}
Se qualcuno puo darmi una mano gli sarei veramente grato