Scusate, non è per uppare, ma non riesco a modificare il post precedente (problemi sul server?), che chiaramente è incompleto.
Ecco la domanda completa:
Grazie a quanti vorranno rispondere.
Sto cercando di implementare una form con una select dinamica.
Questo è il codice della form:
codice:
<html>
<head>
<script src="../jquery-1.4.4.js"></script>
<script type="text/javascript">
function popolaTipoPrestazione() {
$.getJSON('prestazioni.php', {id_reparto:$('#reparto').val()}, function(data) {
var select = $('#tipoPrestazione');
var options = select.attr('options');
$('option', select).remove();
$.each(data, function(index, array) {
options[options.length] = new Option(array['PRESTAZIONE']);
});
});
}
$(document).ready(function() {
popolaTipoPrestazione();
$('#reparto').change(function() {
popolaTipoPrestazione();
});
});
</script>
</head>
<body>
<label for="reparto">Reparto:</label>
<select id="reparto" name="reparto">
<option selected="selected">-- seleziona --</option>
<?
// mi connetto al DB
include("dbconfig.php");
// Query selezione tutti i reparti.
$sql = "select * from reparti order by reparto";
// Eseguo la query.
$result = mysql_query($sql, $conn);
while($reparto = mysql_fetch_array($result)) {
?>
<option value="<?php echo $reparto['id']; ?>"><?php echo $reparto['reparto']; ?></option>
<?php
}
?>
</select>
</p>
Prestazione:
<select name="PRESTAZIONE" id="TipoPrestazione">
</select>
</p>
</body>
</html>
Questo il codice del file richiamato da json:
codice:
<?
if(isset($_GET['id_reparto'])) {
$reparto = $_GET['id_reparto'];
$stmt = $pdo->prepare("SELECT PRESTAZIONE FROM generale WHERE id_reparto = '$reparto' ORDER BY PRESTAZIONE");
$stmt->execute(array($_GET['id_reparto']));
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
}
echo json_encode($rows);
?>
Il problema che ho é che la select Prestazione non viene popolata; per altro analizzando la risposta del server con Firebug l'array viene popolato. Eppure...
Dove sbaglio?