Ciao ragazzi ho due select PROVINCIA COMUNI concatenate tra loro
Utilizzo questo codice js
Poi vi è questo codice htmlcodice:<script type="text/javascript"> var provinciadb = new Object() provinciadb['80'] = [ {value:'6338', text: 'Agrigento'}, {value:'6339', text: 'Alessandria della Rocca'}, ... ... ]; provinciadb['58'] = [ {value:'4497', text: 'Acqui Terme'}, {value:'4498', text: 'Albera Ligure'}, ... ... ]; function setCities(chooser) { var newElem; var where = (navigator.appName == "Microsoft Internet Explorer") ? -1 : null; var cityChooser = chooser.form.elements["comune"]; while (cityChooser.options.length) { cityChooser.remove(0); } var choice = chooser.options[chooser.selectedIndex].value; var db = provinciadb[choice]; newElem = document.createElement("option"); newElem.text = "Seleziona un comune:"; newElem.value = ""; cityChooser.add(newElem, where); if (choice != "") { for (var i = 0; i < db.length; i++) { newElem = document.createElement("option"); newElem.text = db[i].text; newElem.value = db[i].value; cityChooser.add(newElem, where); } } } </script>
Tutto funziona perfettamente se non vi sono caratteri accentati o con l'apostrofo nel database,codice:<select name="provincia" style="width:185px" onChange="setCities(this)"> <option value="" selected="selected">Seleziona una Provincia:</option> <?php $query = mysql_query("SELECT * FROM province_due ORDER BY nome_provincia ASC"); while ( $row = @mysql_fetch_array($query) ) { $id = $row['id_pro']; $provincia = stripslashes($row['nome_provincia']); echo "<option value=\"$id\">$provincia</option><br/>\n"; } ?> </select> <select name="comune" style="width:185px" id="comune"> <option value="" selected="selected">Seleziona comune</option> </select>
se per esempio invece nel database cè il comune di Sant 'Angelo Muxaro quindiil codice js viene scritto: {value:'6338', text: 'Sant 'Angelo Muxaro'}, lo script non funziona e non viene compilata la select dei comuni.
Come posso risolvere il problema degli accenti e degli apostrofi? Ho provato con stripslashes ma non funziona.
Grazie
viene scritto

Rispondi quotando