Boas
Tenho um conjunto de selectbox que têm de ser actualizadas em "cadeia", ou seja, a primeira contêm dados de um recordset e a seguinte deve ser actualizada com base no item seleccionado na anterior e assim sucessivamente, os dados das selectbox, excepto da primeira, vêm de outra página, uns excertos do código:
A função selectbox1() faz o que é suposto, quando é chamada preenche a #selectbox2 com dados, quando chega à função selectbox2() é enviado um null como parâmetro apesar da selectbox anterior ter lá dados, a resposta da página dados_sql.php é "<option value=""></option>" e bloqueia-me o resto do javascript
os onchange por alguma razão também não funcionam...
O que é que me está a falhar?
Obrigado desde já...
Tenho um conjunto de selectbox que têm de ser actualizadas em "cadeia", ou seja, a primeira contêm dados de um recordset e a seguinte deve ser actualizada com base no item seleccionado na anterior e assim sucessivamente, os dados das selectbox, excepto da primeira, vêm de outra página, uns excertos do código:
Código:
<script>
function selectbox1()
{
var valor1 = $("#selectbox1").val();
$.get("dados_sql.php?id="+valor1, function( data )
{
$("#selectbox2").html(data);
} );
selectbox2();
}
function selectbox2()
{
var valor2 = $("#selectbox2").val();
$.get("dados_sql.php?id2="+valor2, function( data )
{
$("#selectbox3").html(data);
} );
selectbox3();
}
function selectbox3()
{
var valor3 = $("#selectbox3").val();
$.get("dados_sql.php?id3="+valor2+"&id4="+valor3, function( data )
{
$("#selectbox4").html(data);
} );
selectbox4();
}
function selectbox4()
{
var valor4 = $("#selectbox4").val();
$.get("dados_sql.php?id5="+valor4, function( data )
{
$("#selectbox5").html(data);
} );
}
$( document ).ready(function() { selectbox1(); });
</script>
Código:
<form id="form1" name="form1" method="get" action="">
<p>
<label for="selectbox1"></label>
<select name="selectbox1" id="selectbox1" onchange="selectbox1();">
<?php
do {
?>
<option value="<?php echo $row_dados['id']?>"><?php echo $row_dados['nome']?></option>
<?php
} while ($row_dados = mysql_fetch_assoc($dados));
$rows = mysql_num_rows($dados);
if($rows > 0) {
mysql_data_seek($dados, 0);
$row_dados = mysql_fetch_assoc($dados);
}
?>
</select>
<label for="selectbox2"></label>
<select name="selectbox2" id="selectbox2" onchange="selectbox2();">
</select>
<label for="selectbox3"></label>
<select name="selectbox3" id="selectbox3" onchange="selectbox3();">
</select>
<label for="selectbox4"></label>
<select name="selectbox4" id="selectbox4" onchange="selectbox4();">
</select>
<label for="selectbox5"></label>
<select name="selectbox5" id="selectbox5">
</select>
</p>
<p>
<input type="submit" name="bt_adicionar" id="bt_adicionar" value="Adicionar" />
</p>
</form>
A função selectbox1() faz o que é suposto, quando é chamada preenche a #selectbox2 com dados, quando chega à função selectbox2() é enviado um null como parâmetro apesar da selectbox anterior ter lá dados, a resposta da página dados_sql.php é "<option value=""></option>" e bloqueia-me o resto do javascript
os onchange por alguma razão também não funcionam...
O que é que me está a falhar?
Obrigado desde já...