Pues algo debo estar haciendo mal porque estoy intentando lo siguiente y no puedo:
Código HTML:
<div class="row">
<div class="span3">
<label>Tria un curs acadèmic</label>
<select class="span2" id="any"></select>
</div>
<div class="span3">
<label>Tria un grup</label>
<select class="span1" id="grup"></select>
</div>
<div class="span3">
<label>Tria un curs acadèmic</label>
<select class="span2" id="any2"></select>
</div>
<div class="span3">
<label>Tria un grup</label>
<select class="span1" id="grup2"></select>
</div>
</div>
<div class="span3">
<select size="15" id="singrupo" class="span5" multiple="multiple"</select>
</div>
Código:
var any = $('#any').val();
var any2 = $('#any2').val();
var nom = $('#buscar').val();
var grup = $('#grup').val();
var grup2 = $('#grup2').val();
$.ajax({
beforeSend: function(){
$('#estatus').show();
},
url: 'includes/funciones_edit.inc.php',
type: 'get',
data: {accion:'alumnosSinGrupo', id:any, nom:nom, grup:grup, id2:any2, grup2:grup2},
success: function(resp){
if (resp == 'error') {
$('#msg').html('Error');
} else {
$('#singrupo').html(resp);
alert(resp);
}
},
error: function(jqXHR, estado, error){
$('#msg').html(error);
},
complete: function (jqXHR, estado){
$('#estatus').hide();
}
});
Código PHP:
public function alumnosSinGrupo($id, $nom, $grup, $id2, $grup2){
$sql = "SELECT alumne.id_alumne id, nom valor FROM alumne_curs a
INNER JOIN alumne ON a.id_alume = alumne.id_alumne
WHERE NOT EXISTS (SELECT NULL FROM alumne_curs a1 WHERE a.id_alume = a1.id_alume AND id_any = $id2)
AND a.id_any = $id AND a.id_grup = $grup
ORDER BY nom ASC";
$this->listaOpciones($sql);
}
private function listaOpciones($sql){
$resp = mysql_query($sql) or die(mysql_error());
while ($reg = mysql_fetch_assoc($resp)) {
echo '<option value='.$reg['id'].'>'.$reg['valor'].'</option>';
}
}
Lo que he puesto arriba es un extracto de todo el código. Lo que intenta es cargar los selects con contenido dinámico y dependiendo del contenido seleccionado de éstos se carga un último select multiple.
Hay muchas veces que las variables que guardan el valor de los select me devuelven ''
Pasa sobretodo cuando tarda un poco en responder o la primera vez que se carga la página.
Alguna solución para eso?
Gracias.