Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [jquery] Jak przekazać zaznaczony radiobutton
marcinpruciak
post
Post #1





Grupa: Zarejestrowani
Postów: 161
Pomógł: 9
Dołączył: 14.07.2008

Ostrzeżenie: (0%)
-----


Mam takie przyciski:

Kod
<input type="radio" name="rozmiar" id="rozmiar" value="oryginal" />
<input type="radio" name="rozmiar" id="rozmiar" value="150" />
<input type="radio" name="rozmiar" id="rozmiar" value="800x600" />


Chcę przekazać jeden zaznaczony do skryptu za pomocą jquery, robię to tak:

Kod
'scriptData':{'size': $('input:checked').val()}

Przekazuje się 'undefined', działało tylko wtedy gdy przy jednym miałem checked=checked, ale zawsze przesyłało jego niezależnie od zaznaczonego.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Zawartość zapisuj do zmiennej przed $.(post|ajax|get) i jej używaj w żądaniu.

Pokaż cały skrypt.
Go to the top of the page
+Quote Post
marcinpruciak
post
Post #3





Grupa: Zarejestrowani
Postów: 161
Pomógł: 9
Dołączył: 14.07.2008

Ostrzeżenie: (0%)
-----


U mnie jest tak:

Kod
$(document).ready(function() {
 $("#fileUpload").fileUpload({
     'uploader': '/NewKohana/media/js/uploadify/uploader.swf',
     'cancelImg': '/NewKohana/media/js/uploadify/cancel.png',
     'script': '/NewKohana/admin.php/media/add_image/',
     'folder': '/NewKohana/media/images',
     'multi': false,
     'displayData': 'speed'
 });

    $('#rozmiar').bind('change', function(){
     $('#fileUpload').fileUploadSettings('scriptData','&size='+$('#rozmiar').val());
 });
});



A w przykładach uzywania skryptu uploadify tak:

Kod
$("#fileUploadname3").fileUpload({
     'uploader': 'uploadify/uploader.swf',
     'cancelImg': 'uploadify/cancel.png',
     'script': 'uploadify/upload_name.php',
     'folder': 'files',
     'multi': true,
     'displayData': 'percentage',
     'scriptData': {'name':'JohnDoe', 'location':'Australia'}, 
     onComplete: function (evt, queueID, fileObj, response, data) {
         alert("Successfully uploaded: "+response);
     }
 });



$('#location').bind('change', function(){
     $('#fileUploadname3').fileUploadSettings('scriptData','&name='+$('#name3').val()+'&location='+$(this).val());
 });
Go to the top of the page
+Quote Post
erix
post
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Ekhm, tak nawiasem chciałbym Ci przypomnieć o dwóch rzeczach:
  1. identyfikator MUSI być unikalny, poczytaj o klasach, bo u Ciebie są jak znalazł
  2. przy korzystaniu z bind() możesz również użyć $(this) jako odniesienia do konkretnej instancji wywołującego zdarzenie obiektu
Go to the top of the page
+Quote Post
Weirdo
post
Post #5





Grupa: Zarejestrowani
Postów: 16
Pomógł: 2
Dołączył: 30.05.2009

Ostrzeżenie: (0%)
-----


INPUT type="radio" ma taki sam atrybut name, lecz różny atrybut id.
Zatem prostą pętlą JS sprawdzasz wartość:

Kod
var wartosc = -1; // domyślna wartość, pozwoli sprawdzić czy coś zostało wybrane
for (i=document.formularz.twoje_radio.length-1; i > -1; i--) {
    if (document.formularz.twoje_radio[i].checked) {
       wartosc = document.formularz.twoje_radio[i].value;
           i = -1; // przerwanie pętli, wskazana wartość odnaleziona
    }
}
if (wartosc == -1) alert("Proszę wskazać jedną z opcji twoje_radio");



Bez zaprzęgania selektorów jQuery, wydajnie, i w ogóle super hiper fajnie (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

Ten post edytował Weirdo 28.07.2009, 23:26:57
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 17:04