ciao,
vi posto il mio problema, sono abbastanza nuovo a jquery,spero possiate aiutarmi.
ho una pagina asp strutturata in questo modo:
una lista di prodotti ai quali se ne possono aggiungere altri selezionandoli da una select sottostante.
<ul id="loc">[*]prodotto 1[*]prodotto 2
...[/list]
questa la select
<label for="prodotto_associato">prodotto</label>
<select id="prodotto_associato" name="id_prodotti_associati" class="text_mid3">
<option value="1">Prodotto 1</option>
<option value="2">Prodotto 2</option>
...
<option value="10">Prodotto 10</option>
</select>
ho fatto una funzione che utilizza jquery per far sì che ad ogni change invia il valore dell'option selezionato ad una pagina asp che mi restituisce un[*] ...testo ... che va ad aggiungersi a quelli già presenti e allo stesso tempo rimuove dalla select l'elemento appena selezionato, così evito che finisca 2 o più volte nella lista soprastante.
fin qui nessun problema.
la funzione è questa:
Codice PHP:
$('select#prodotto_associato').change(function(){
var str = "";
var id_item = $("#id").val();
$("select#prodotto_associato option:selected").each(function () {
str += $(this).val();
$(this).remove();
});
var dataString = 'action=addProdAssociato&id=' + id_item + '&id_prodotti=' + str ;
$.ajax({
type: "POST",
url: "../includes/ajax-updatedb.asp",
data: dataString,
cache: false,
success: function(theResponse) {
$("ul#loc").append(theResponse);
$('li#li_' + str).fadeIn("normal");
}
});
});
Ora io vorrei che all'eliminazione di ogni elemento presente nella lista[*] venisse ricaricato l'elenco degli option all'interno della select.
ho generato questo elenco da una pagina asp richiamata via ajax
<option>valore 1</option>
<option>valore 2</option>
...
<option>valore n</option>
e ho provato ad inserirlo tramite jquery dentro la select ma mi restituisce solo una lista vuota, una tendina bianca per capirci.
Codice PHP:
//invia la richiesta AJAX per ripopolare la select
var dataString2 = 'action=showrelazionilist&id=' + id_item ;
$.ajax({
type: "POST",
url: "../includes/ajax-updatedb.asp",
data: dataString2,
cache: false,
success: function(theResponse) {
$("select#prodotto_associato").html(theResponse);
}
});
}
});
ho provato ad usare anche .append al posto di .html, ma evidentemente non è quella la strada.
consigli?
grazie