Ir para conteúdo

POWERED BY:

Arquivado

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

pixelrafael

Select

Recommended Posts

tenho o seguinte codigo:

<html>
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.4.min.js"></script>
<script src="http://jqueryui.com/ui/jquery.ui.core.js"></script>
<script src="http://jqueryui.com/ui/jquery.ui.widget.js"></script>
<script src="http://jqueryui.com/ui/jquery.ui.mouse.js"></script>
<script src="http://jqueryui.com/ui/jquery.ui.draggable.js"></script>
<link type="text/css" rel="stylesheet" media="all" href="style.css" />
</head>
<body>

<div id="navbar">
<div id="grid"></div>
</div>

<div id="content">
<div id="item" style="background-image: url(img/tiles/tile1.png);"></div>
<div id="item" style="background-image: url(img/tiles/tile2.png);"></div>
<form>
<select id="garden">
<option value="one">one</option>
<option value="two">two</option>
</select>
</form>
<div id="map">
	<div id="grade"></div>
	<!---- OBJECTS ---->
		<div id="one"></div>
		<div id="two"></div>
	<!---- /OBJECTS ---->
</div>
</div>

<script>
var num = $("#garden").val();
$("#item, this").click(function() {
	$('#'+num+'').append('<div id="tile" style="background-image: '+$(this).css("background-image")+';"></div>');
	alert(num);
});
$("#grid").click(function() {
	$("#grade").toggle(function() {
		$("#grade").addClass("gride");
	});
});
$(function() {
	$("#tile").draggable();
});
</script>
</body>
</html>

ta ate ai td bem, mais o 'num' nao pega o value direito, sempre fica one,mesmo two :l

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não dá pra fazer assim, você precisa executar essa função toda vez que o select tem seu valor trocado, no evento onchange:

$(function() {
   	$("#tile").draggable();
});
$("#grid").click(function() {
 	$("#grade").toggle(function() {
       	$("#grade").addClass("gride");
 	});
});
$("#garden").change(function(){
   	var num = $(this).val();
   	/*Usando jQuery, ao adicionar um callback a um evento, ele é ADICIONADO àquele elemento, 
e NÃO SUBSTITUI o anterior, por isso, é preciso usar o método 'unbind' para remover o callback anterior*/
       $("#item").unbind('click').click(function() {
               $('#'+num+'').append('<div id="tile" style="background-image: '+$(this).css("background-image")+';"></div>');
               alert(num);
       });
});

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.