Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

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

  • 8 odgovora
  • 2.973 pregleda

Najnovija ↓

[Rešen] Problem sa $('input:radio[name=vote]:checked').val() 17.05.2010. u 16:42 · pre 200 meseci
izmenjeno 1 put, poslednji put avayaman 17.05.2010. u 22:50
  1. avayaman17.05.2010. u 22:50zapis iz teksta poruke
#1
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; ?>
Re: Problem sa $('input:radio[name=vote]:checked').val() 17.05.2010. u 16:58 · pre 200 meseci #2
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.
Re: Problem sa $('input:radio[name=vote]:checked').val() 17.05.2010. u 17:02 · pre 200 meseci #3
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.
Re: Problem sa $('input:radio[name=vote]:checked').val() 17.05.2010. u 17:12 · pre 200 meseci #4
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.
Re: Problem sa $('input:radio[name=vote]:checked').val() 17.05.2010. u 18:04 · pre 200 meseci #5
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".
Re: Problem sa $('input:radio[name=vote]:checked').val() 17.05.2010. u 18:15 · pre 200 meseci #6
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 ;)
Sviđa mi se1
Re: Problem sa $('input:radio[name=vote]:checked').val() 17.05.2010. u 18:16 · pre 200 meseci #7
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.
Sviđa mi se1
Re: Problem sa $('input:radio[name=vote]:checked').val() 17.05.2010. u 22:13 · pre 200 meseci #8
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.
[Rešeno] Re: Problem sa $('input:radio[name=vote]:checked').val() 17.05.2010. u 22:36 · pre 200 meseci #9
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 ! :)
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme