Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [jQuery] Przekazanie parametrów obiektu jako argumentu funkcji
sma
post
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 8.08.2006
Skąd: Gdańsk

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


Witam,
mam mała zamotke więc proszę o pomoc.

  1. function Wylacz(klikniete_id,wylacz_id)
  2.            {
  3.                  $(document).ready(function(){
  4.                        $('#' + klikniete_id).click(function(){
  5.                              var obj = { test: '' };
  6.                              var obj1 = { wylacz_id };
  7.                              jQuery.extend(obj,obj1);
  8.                              jQuery.each(obj, function(key, val) {
  9.                                    $('#' + val).attr("disabled", true);
  10.                              });
  11.                              
  12.                        });
  13.                  });
  14.            }


  1. Wylacz('WezelOtwierajacyRadio'," wlacz: 'WezelZnacznik' ");


Tak więc chcę przekazać przy wywołaniu funkcji listę pól do wyłaczenia jako tablicę asocjacyjną. Korzystam zatem z parametrów obiektu, które traktuję jako elementy tablicy.

Problem w tym, w jaki sposób przekazać te parametry jako argument fiunkcji. Powyższy przykład nie działa.
Jesli dam

  1. var obj = { wlacz: 'WezelZnacznik' };


na sztywno te parametry w funkcji to pola się wyłaczają. Jeśli tak jak w powyższym kodzie, przekażę je jako argumenty funckji, pola nie wyłaczają się.

Prosze o pomoc we wsakazaniu, czego nie widzę lub co źle robię.
Z góry dzieki

Ten post edytował sma 5.08.2009, 10:43:41
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
erix
post
Post #2





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




Cytat
Zatem nie bardzo mogę dojść co dałoby przekaznaie obiektu jQ z radio lub w jaki sposób to zrobić aby osiągnąć zamierzony efekt.
Jesli błędnie podchodzę do tematu prosiłbym o wskazówki w krokach. Pogoogluję jesli czegoś nie będę wiedział o resztę dopytam.

Jak? No patrz:

Kod
$('#pole1, #pole2, #rodzic .pola, #rodzic input:checked').each(function(){
    $(this).attr(...);
});

i tyle kombinowania. (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

A jeśli już koniecznie chcesz funkcją, to robisz tak:
Kod
function disable(obj){
  obj.each(function(){
    $(this).attr(...);
  });
}

disable($('#pole, ...'));
Go to the top of the page
+Quote Post
sma
post
Post #3





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 8.08.2006
Skąd: Gdańsk

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


Cytat(erix @ 5.08.2009, 15:10:45 ) *
A jeśli już koniecznie chcesz funkcją, to robisz tak:


Tak ale gdzie tu miejsce dla parametrów przypisanych do ID każdego pola, mówiących czy mam dane pole ukryć/pokazać, czy wyłaczyć/właczyć (a w przyszłości byc może zaostanie zaimplementowana dalsza obsługa). Ten sam efekt osiągnąłbym przekazując zwykłą tablicę z ideksami liczbowymi. Mi chodzi o przekazanie tablicy asocjacyjnej aby dla każdego ID pola przekazac takkże info co z nim mamy zrobić.

Nawiązując do manuala chciałem osiągnąć takie coś:

Kod
var obj = { show:ID_POLA_1, enable:ID_POLA_2, hide:ID_POLA_3, show:ID_POLA_4 itd };

Następnie:

jQuery.each(obj, function(key, val) {
      robie warunki dla 'key' i wykonuję odpowiednie operacje na polu o ID 'val'
    });


Gdy wpisuję
Kod
var obj = { show:ID_POLA_1, enable:ID_POLA_2, hide:ID_POLA_3, show:ID_POLA_4 itd };
na sztywno w funkcji, to wszystko działa, ale jak ten zestaw parametrów przekazać do funckji jako argument?
Go to the top of the page
+Quote Post

Posty w temacie


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: 16.10.2025 - 16:56