Ciao a tutti, tramite una chiamata AJAX ottengo dei dati in questo modo (ho accorciato la stringa per comodità):
Dovrei creare una cosa tipo questa:codice:{ "frutta":[ "Angurie - 3" "Angurie - 5" "Banane", "Kiwi", "Mele", "Meloni - 3", "Meloni - 4", "Meloni - 10", "Limoni" ] }
In pratica se c'è un numero mi raggruppa le option con un optgroupcodice:<select> <optgroup label="Angurie"> <option>Angurie - 3</option> <option>Angurie - 5</option> </optgroup> <option>Banane</option> <option>Kiwi</option> <option>Mele</option> <optgroup label="Meloni"> <option>Meloni - 3</option> <option>Meloni - 4</option> <option>Meloni - 10</option> </optgroup> <option>Limoni</option> </select>
Ho creato questo script, ma non ottengo quello che voglio
bensì questo:codice:$.each(data.frutta, function(i,value){ if (/\d/.test(value)) { if($('optgroup').attr('label')==value) { cb='\n <option>'+value+'</option>'; } else { cb='\n<optgroup label="'+value.replace(/[^A-Za-z]+/g, '')+'">\n <option>'+value+'</option></optgroup>'; } } else { if($('optgroup').attr('label')==value) { cb='\n</optgroup>\n<option>'+value+'</option>'; } else { cb='\n<option>'+value+'</option>'; } } $('#fruttap').append(cb); });
Qualcuno sa come correggere?codice:<select> <optgroup label="Angurie"> <option>Angurie - 3</option> </optgroup> <optgroup label="Angurie"> <option>Angurie - 5</option> </optgroup> <option>Banane</option> <option>Kiwi</option> <option>Mele</option> <optgroup label="Meloni"> <option>Meloni - 3</option> </optgroup> <optgroup label="Meloni"> <option>Meloni - 4</option> </optgroup> <optgroup label="Meloni"> <option>Meloni - 10</option> </optgroup> <option>Limoni</option> </select>

Rispondi quotando