Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

mzaidan

Atualizar ao mudar select

Recommended Posts

Como que eu faço para quando mudar o select, atualizar um campo no BD.

Não to conseguindo passar os valores:

<select name="level" class="form-control input-lg" onChange="update()">
<option value="1" <? if($level==1) echo "selected" ?>>Beginner</option>
<option value="2" <? if($level==2) echo "selected" ?>>Intermediate</option>
<option value="3" <? if($level==3) echo "selected" ?>>Advanced</option>
</select>
<script>
 function update(){
   O QUE EU FAÇO AQUI?
 }
</script>

Grato.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Melhor é usar Jquery

<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8" />
	<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.2.js"></script>
	<script type="text/javascript">
	$(function(){
		$('select').change(function(){ // when one changes
			var te = $('select').val(); // they all change			
			alert(te);
		})
	})
	</script>
	<style type="text/css">

	</style>
	<title>Untitled</title>
</head>
<body>

<select>
  <option value="111">111</option>
  <option value="222">222</option>
</select>

</body>
</html>

Para fazer a requisição em ajax com o prório jquery, de uma olhada abaixo no tutorial

http://viniciuswebdev.com/fazendo-requisicoes-com-post-e-get-com-ajax-e-jquery/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigão, obrigado pelo post.

Eu não sei nada de ajax.

Li o tutorial que vc postou, mas não entendi muito bem.

Seria muito pedir para vc me mostrar como eu faço para passar os parametros?

<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.2.js"></script>
	<script type="text/javascript">
	$(function(){
		$('select').change(function(){ // when one changes
			var te = $('select').val(); // they all change			
			alert(te);
		})
	})
	</script>
<script>
<select name="level" class="form-control input-lg">
<option value="1" <? if($level==1) echo "selected" ?>>Beginner</option>
<option value="2" <? if($level==2) echo "selected" ?>>Intermediate</option>
<option value="3" <? if($level==3) echo "selected" ?>>Advanced</option>
</select>

Desse jeito ele ta alertando o value, mas como eu faria para executar uma função para atualizar o banco de dados?

 

Grato.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tentei:

<script>
function showUser(str) {
    if (str == "") {
        document.getElementById("txtHint").innerHTML = "";
        return;
    } else {
        if (window.XMLHttpRequest) {
            // code for IE7+, Firefox, Chrome, Opera, Safari
            xmlhttp = new XMLHttpRequest();
        } else {
            // code for IE6, IE5
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
        xmlhttp.onreadystatechange = function() {
            if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                document.getElementById("txtHint").innerHTML = xmlhttp.responseText;
            }
        }
        xmlhttp.open("GET","getlevel.php?q="+str,true);
        xmlhttp.send();
    }
}
</script>

getlevel.php:

<!DOCTYPE html>
<html>
<head>
<
</head>
<body>

<?php

$ler = $_COOKIE['user'];
$q = intval($_GET['q']);





$con = mysqli_connect('localhost','admin','senha','db');
if (!$con) {
    die('Could not connect: ' . mysqli_error($con));
}

mysqli_select_db($con,"ajax_demo");
$sql="UPDATE members SET level='$q' WHERE memberID='$ler'";
$result = mysqli_query($con,$sql);


/*while($row = mysqli_fetch_array($result)) {
    
}

mysqli_close($con);*/
?>
</body>
</html>

E não atualizou.

Pq será?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faltou a função para chamar o ajax

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script>


$(function(){
		$('select').change(function(){ // when one changes
			var value = $('select').val(); // they all change			
			
			$.ajax({
             
				type: "POST",
				data: { value:value },
				 
				url: "soma.php",
				dataType: "html",
				success: function(result){
					alert('Enviado com sucesso' + value);
				}
			});
			
			
			
		})
	})

</script>

<select>
  <option value="111">111</option>
  <option value="222">222</option>
</select>

Para trabalhar com JS, tenha a instalado no Firefox a extensão Firebug, para analisar possiveis erros ou até mesmo os envios das requisições.

 

http://getfirebug.com/

 

Para o chrome tem uma versão light

 

Abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.