Boa tarde, estava praticando com o código baseado na aula de PHP e MySQL e preciso de ajuda com uma parte do código. Basicamente tenho um formulário com dois selects(aluno_id, produto_id) e alguns inputs(produto_preco,quantidade,preco_total), utilizo funções para preencher arrays e então os selects pelo ID e mostrar pelo nome.
Agora preciso fazer com que cada vez que o select dos produtos for alterado, faça um busca pelo ID no array dos produtos, e preencha o input produto_preco com o preço equivalente ao produto_id. Pelo que pesquisei isso é feito com Javascript e JSON, e possivelmente Ajax, fiz algumas tentativas porém não obtive sucesso.
Lembrando que os dados desse form serão cadastrados no BD depois.
<?php require_once("cabecalho.php");
require_once("banco-vendas.php");
require_once("banco-aluno.php");
require_once("banco-produto.php");
$venda = array("aluno_id" => "1", "produto_id" => "1",
"quantidade_produto" => "", "preco_produto" => "", "valor_total" => "",
"data_operacao" => "");
$listaPreco = listaPreco($conexao); // cria um array tridimensional
listaPreco com id, nome, preco
$alunos = listaAlunos($conexao); // cria array alunos
$produtos = listaProdutos($conexao); // cria array produtos
$teste = array_search('2', array_column($listaPreco,'id')); // teste filtro
?>
<h1>Formulário Vendas</h1>
<form action="adiciona-venda.php" method="post">
<table class="table">
<?php include("vendas-formulario-base.php"); // inputs e selects do
formulario?>
<tr>
<td>
<button class="btn btn-primary" type="submit">Cadastrar</button>
</td>
</tr>
</table>
</form>
<script
src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js">
</script>
<script>
$('select[name="produto_id"]').on('change', function(){ // select produtos
var teste = "<?php Print($teste);?>";
// var ar = <?php json_encode($listaPreco) ?>;
// alert(ar);
$("#cont").val(teste); // input preco
});
</script>
<?php include("rodape.php"); ?>