Autor | Zpráva | ||
---|---|---|---|
Parsek96 Profil * |
#1 · Zasláno: 3. 8. 2012, 12:06:10
Narazil jsem na jednu vec, kterou moc dobre nechapu. Pomoci ruznych tutorialu se snazim dat dohromady jednoduchou anketu, ale nedari se mi zprovoznit jednu dulezitou vec - nevim jak rozlisit, kam bylo kliknuto, protoze pri at kliknu na kterykoliv button, bere se to, jako by bylo klinuto na ten prvni. Poradite mi prosim, co s tim?
HTML cast: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <title>jQuery</title> <script type="application/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> </head> <body> <div style="width: 200px; height: 200px; background-color: #ff0000; border: 10px #0000ff;"> </div> <div id="okolo"> <strong>Moznosti:</strong><br /> <div id="anketa"> <form> <input type="hidden" name="id" value="1" /> <input type="button" name="moznost" value="jednicka" /> </form> <form> <input type="hidden" name="id" value="2" /> <input type="button" name="moznost" value="dvojka" /> </form> <form> <input type="hidden" name="id" value="3" /> <input type="button" name="moznost" value="trojka" /> </form> </div> </div> </body> <script> $("#anketa").bind("click", function() { var hodnota = $("input[name=id]").val(); jQuery.ajax({ url: "ajax.php", data: "vybrano="+hodnota, cache: false, success: function(html) { if (html == "") { alert("Špatně jste zvolili hodnotu."); } else { $("#okolo").before("<p>Zvolena možnost: <strong>"+html+"</strong></p>"); $("#okolo").remove(); } }, error: function(XMLHttpRequest, textStatus, errorThrown) { alert("Chyba.\n" + textStatus + " " + errorThrown); } }); }); </script> </html> PHP cast: <?php $volba = ""; if (isset($_GET["vybrano"])) { switch ($_GET["vybrano"]) { case "1": $volba .= 'jednicka'; break; case "2": $volba .= 'dvojka'; break; case "3": $volba .= 'trojka'; break; } } echo $volba; ?> |
||
ShiraNai7 Profil |
Parsek96:
Bere to první input, protože kliknutí binduješ přímo na ten div#anketa. Binduj to na ty tlačítka: $("#anketa input[type=button]").click(function() { var hodnota = $(this).prev().attr('value'); // zbytek kódu.. }); Netestováno (nemám čas si to rozjíždět lokálně). |
||
Parsek96 Profil * |
#3 · Zasláno: 3. 8. 2012, 14:32:39
Pomohlo mi to, mockrat Ti dekuji!
|
||
Časová prodleva: 12 let
|
0