Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

[Rešen] Problem sa $('input:radio[name=vote]:checked').val()

[es] :: Javascript i AJAX :: [Rešen] Problem sa $('input:radio[name=vote]:checked').val()

[ Pregleda: 2112 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

avayaman

Član broj: 163408
Poruke: 31
*.adsl.eunet.rs.



+1 Profil

icon [Rešen] Problem sa $('input:radio[name=vote]:checked').val()17.05.2010. u 15:42 - pre 169 meseci
Pozz,
Nemam mnogo iskustva sa jQuery-em...

Krenuo sam da pravim ajax poll, i našao se u problemu. Radi jednostavnosti cele skripte ovde stavljam samo esencijlne delove, pa je možete probati na Vašem serveru.
Skripta radi kako sam zamislio, jedino što ne vraća vrednosti radio polja koje je čekirano ("0" ili "1"), već mi se kao vrednost $sampleData uvek vrati "undefined". Na http://jquery.com/ sam pronašao da je $('input:radio[name=vote]:checked').val() način za uzimanje vrednosti radio forme, ali u mom slučaju ne funkcioniše ili ja negde grešim (ovo poslednje je mnogo verovatnije :) ). Šta treba da promenim pa da mi se nakon klika na Vote vrati "0" ili "1" ? Hvala unapred.

Evo cele skripte:
Code:
<!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></title>
<link rel="stylesheet" type="text/css" href="style.css?" />
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
    $(document).ready(function(){
        $("#poll #submit").click(function () {
            $("#poll").html('<img src="ajax-loader.gif" />');
            $.ajax({
                type: "GET",
                data: "data=" + $('input:radio[name=vote]:checked').val(),
                url: "response.php",
                success: function(msg){
                    $("#poll").html(msg)
                }
            });
        });
    });
</script>
</head>

<body>
 <div id="poll">
                <h4>Here comes the question...?</h4>
               
                <div class="label">               
                <input type="radio" name="vote" value="0"  />
                <label for="vote">Answer 1:</label>
                </div>
                <br />
                <div class="label">
                <input type="radio" name="vote" value="1"  />
                <label for="vote">Answer 2:</label>               
                </div>
                <input type="button" name="submit" value="Vote" id="submit" />
               
               
    </div><!-- end poll -->


</body>
</html>

response.php
Code:
<?php
    $sampleData = $_GET['data'];
   echo $sampleData; ?>


[Ovu poruku je menjao avayaman dana 17.05.2010. u 22:50 GMT+1]
 
Odgovor na temu

Nikola Poša
Backend (PHP) developer
Beograd

Član broj: 173839
Poruke: 1616
*.adsl-a-6.sezampro.rs.



+33 Profil

icon Re: Problem sa $('input:radio[name=vote]:checked').val()17.05.2010. u 15:58 - pre 169 meseci
Taj selektor je ok, ne verujem da je u njemu problem. Mada, probaj za svaki slučaj da ga napišeš ovako: "input:radio[name='vote']:checked". Neka ceo selektor bude između dvostrukih navodnika, a "vote" stavi pod jednostruke navodnike.
 
Odgovor na temu

avayaman

Član broj: 163408
Poruke: 31
*.adsl.eunet.rs.



+1 Profil

icon Re: Problem sa $('input:radio[name=vote]:checked').val()17.05.2010. u 16:02 - pre 169 meseci
Citat:
Nikola Poša: Taj selektor je ok, ne verujem da je u njemu problem. Mada, probaj za svaki slučaj da ga napišeš ovako: "input:radio[name='vote']:checked". Neka ceo selektor bude između dvostrukih navodnika, a "vote" stavi pod jednostruke navodnike.


Probao, ne radi.
 
Odgovor na temu

avayaman

Član broj: 163408
Poruke: 31
*.adsl.eunet.rs.



+1 Profil

icon Re: Problem sa $('input:radio[name=vote]:checked').val()17.05.2010. u 16:12 - pre 169 meseci
Da napomenem da sam probao sa hard code
Code:
$.ajax({
                type: "GET",
                data: "data=proba" 
                url: "response.php",
                success: function(msg){
                    $("#poll").html(msg)
                }
            });
        });
    });

i na izlazu dobijem "proba". Dakle sve radi osim što ne mogu da uzmem vrednost čekiranog radio dugmeta.
 
Odgovor na temu

Nikola Poša
Backend (PHP) developer
Beograd

Član broj: 173839
Poruke: 1616
*.adsl-a-2.sezampro.yu.



+33 Profil

icon Re: Problem sa $('input:radio[name=vote]:checked').val()17.05.2010. u 17:04 - pre 169 meseci
A koju verziju jQuery-ja koristiš? Ako je u pitanju neka starija verzija (pre 1.3), probaj da dodaš "@" ispred tog "name" u selektoru, ovako: "input:radio[@name='vote']:checked".
 
Odgovor na temu

Igor Gajic

Član broj: 93194
Poruke: 747
*.dynamic.isp.telekom.rs.



+987 Profil

icon Re: Problem sa $('input:radio[name=vote]:checked').val()17.05.2010. u 17:15 - pre 169 meseci
Code (html):

<script type="text/javascript">
    $(document).ready(function(){
        $("#poll #submit").click(function () {
            $.ajax({
                type: "GET",
                data: "data=" + $('input:radio[name=vote]:checked').val(),
                url: "response.php",
                success: function(msg){
                    $("#poll").html(msg)
                }
            });

               $("#poll").html('<img src="ajax-loader.gif" />');   // JAKO BITNO Ovim ces izbrisati iz DOM sve radio buttone i onda ti $('input...') nece raditi...
               return false; // Ne treba ti full post back...

        });
    });
</script>
 


Btw.

<script type="text/javascript" src='http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js'></script>

Tako da je odgovor na Nikolino pitanje jQuery 1.4.2
 
Odgovor na temu

avayaman

Član broj: 163408
Poruke: 31
*.adsl.eunet.rs.



+1 Profil

icon Re: Problem sa $('input:radio[name=vote]:checked').val()17.05.2010. u 17:16 - pre 169 meseci
Kao što stoji u head-u hotlinkujem sa <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>, dakle 1.4.2 i uopšte mi nije jasno u čemu je problem. Evo već drugi dan se patim sa ovim problemom.
 
Odgovor na temu

Nikola Poša
Backend (PHP) developer
Beograd

Član broj: 173839
Poruke: 1616
*.adsl-a-1.sezampro.yu.



+33 Profil

icon Re: Problem sa $('input:radio[name=vote]:checked').val()17.05.2010. u 21:13 - pre 169 meseci
A da, nisam uopšte obraćao pažnju na ceo kod koji si poslao, već samo na $(document).ready deo.

Ne znam da li si pročitao Igorovu poruku, budući da je poslata u isto vreme kad i tvoja. On ti je lepo napisao u čemu je problem. Ti pre slanja AJAX zahteva ceo sadržaj tog tvog div-a sa id-em poll, uključujući naravno i oba radio button-a, zamenjuješ sa tom nekom animacijom učitavanja, tako da taj selektor neće vratiti ništa... Taj loading efekat se obično stavlja u npr. neki span, odmah pored dugmeta za submit-ovanje forme.
 
Odgovor na temu

avayaman

Član broj: 163408
Poruke: 31
*.adsl.eunet.rs.



+1 Profil

icon [Rešeno] Re: Problem sa $('input:radio[name=vote]:checked').val()17.05.2010. u 21:36 - pre 169 meseci
Citat:
Nikola Poša
Ne znam da li si pročitao Igorovu poruku, budući da je poslata u isto vreme kad i tvoja. On ti je lepo napisao u čemu je problem.

U pravu si - nisam je ni pročitao :) Jednostavno mi je promakla jer sam odmah po postovanju svog odgovora otišao na pregled svih postova o JS (to mi je nekako navika) i tamo čekako odgovore, pa kako je moj bio poslednji nisam ulazio u "tok" posta :) Hvala puno ! Sada mogu dalje da nastavim ! :)
 
Odgovor na temu

[es] :: Javascript i AJAX :: [Rešen] Problem sa $('input:radio[name=vote]:checked').val()

[ Pregleda: 2112 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.