Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal!
Tenho um combobox simples que passa o valor selecionado. Ele funciona perfeitamente enquanto alimentado diretamente com o PHP. Porém, quando uso o jQuery para alimentá-lo com os devidos valores, o selected="selected" não é introduzido no respectivo <option>.
Alguém sabe o porquê disso estar acontecendo?
index.php:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Teste Combobox Selecionado</title>
<script type="text/javascript" src="jquery-1.6.4.js"></script>
<script type="text/javascript" src="funcao.js"></script>
</head>
<body>
<form action="" method="post">
<select id="produto" name="produto">
<?php
// --- carrega o combobox sem o jquery ---
// include 'produtos.php';
?>
</select>
<input type="submit" value="enviar" />
</form>
</body>
</html>
funcao.js:
$(document).ready(function() {
// carrega o select 'produto'
$.post("produtos.php", {produto : $(this).val()}, function(valor) {
$("select[name=produto]").html(valor);
});
});
produtos.php:
<?php
include 'conexao.php';
$selected = '';
if(isset($_POST['produto']))
{
$selected = $_POST['produto'];
}
$sql = "SELECT DISTINCT produto FROM produtos ORDER BY produto ASC";
$resposta = mysql_query($sql) or die(mysql_error());
if(mysql_num_rows($resposta) == 0) {
echo '<option value="0">Selecione o produto</option>';echo '<option value="">Selecione o produto</option>'; echo "<option value=\"".$linha['produto']."\" ".($selected == $linha['produto'] ? 'selected="selected"' : '').">".$linha['produto']."</option>";
}
}
?>Carregando comentários...