Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [jQuery] Identyfikator obiektu ze zmiennej?, $(zmienna).value
kukix
post
Post #1





Grupa: Zarejestrowani
Postów: 600
Pomógł: 2
Dołączył: 1.09.2002
Skąd: Wrocław

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


Witam.

Mam pewien wydaje mi się proty problem.


Kod
$(document).ready(function () {
  $('.przycisk').click(function() {

    var input = '#pole_ilosc_' + $(this).attr("title");

    $(input).value="55";//chce podmienic ilośc tego pola na 55.

  });
});


Jak przekazać zmienny identyfikator do elementu $() ? co robie źle? $(this).attr("title") zwraca odpowiednią liczbę.

Bede wdzięczny za wszelkie wypowiedzi.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 9)
wNogachSpisz
post
Post #2





Grupa: Zarejestrowani
Postów: 1 233
Pomógł: 87
Dołączył: 6.03.2009

Ostrzeżenie: (40%)
XX---


Cytat(kukix @ 4.01.2012, 14:45:05 ) *
zmienny identyfikator

Co to takiego?
Go to the top of the page
+Quote Post
--Rosol--
post
Post #3





Goście







  1. $('input').val(55)
Go to the top of the page
+Quote Post
Bartłomiej Skwar...
post
Post #4





Grupa: Zarejestrowani
Postów: 17
Pomógł: 9
Dołączył: 2.01.2012

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


Jeśli input zawiera poprawną nazwę elementu, do którego chcesz się odnieść, to podmień wartość używając .val().
Kod
$(input).val("55");



@down:
Przyrównujesz input_id do parametru TITLE nie mając takiego w swoich INPUTach.

Ten post edytował Bartłomiej Skwara 4.01.2012, 15:25:50
Go to the top of the page
+Quote Post
kukix
post
Post #5





Grupa: Zarejestrowani
Postów: 600
Pomógł: 2
Dołączył: 1.09.2002
Skąd: Wrocław

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


mam elementy, które są generowane dynamicznie

Kod
<input type="text" name="xxx" id="pole_1">
<input type="text" name="xxx" id="pole_2">
<input type="text" name="xxx" id="pole_3">
...


teraz potrzebuje dostac sie do odpowiedniego elementu:

Kod
  $('.przycisk').click(function() {

    var input_id = $(this).attr("title");
    var input = '#pole_' + input_id;

    $(input).value="55";

  });


Nie moge uzyskac tutaj odnośnika do tego elementu poprzez id.

Go to the top of the page
+Quote Post
phpion
post
Post #6





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Co pokaże alert(input)? Pewnie samo #pole_. Czy w przycisku, który klikasz masz atrybut title i czy jest on liczbą?
Go to the top of the page
+Quote Post
rocktech.pl
post
Post #7





Grupa: Zarejestrowani
Postów: 587
Pomógł: 131
Dołączył: 8.02.2010

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


Witam.

JQuery ma problemy z selektorami ze znakami z poza zakresu (a-z A-Z)
Daj tak i nie zapomnij zmienić id w HTML.
[JAVASCRIPT] pobierz, plaintext
  1. $('.przycisk').click(function() {
  2.  
  3. var input_id = $(this).attr("title");
  4. var input = '#pole' + input_id;
  5.  
  6. $(input).value="55";
  7.  
  8. });
[JAVASCRIPT] pobierz, plaintext


--------------------
Despite the tons of examples and docs, mod_rewrite is voodoo. Damned cool voodoo, but still voodoo. --Brian Moore

I never go looking for a sucker. I look for a Champion and make a sucker of of him. --Amarillo Slim


Home-made : js-gui-classes | Accordion | Tabs | Carousel / php-sms-classes | Obsługa bramki SMS MultiInfo | Obsługa bramki SMS Mobiltek
Go to the top of the page
+Quote Post
kukix
post
Post #8





Grupa: Zarejestrowani
Postów: 600
Pomógł: 2
Dołączył: 1.09.2002
Skąd: Wrocław

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


Cytat(Bartłomiej Skwara @ 4.01.2012, 16:23:57 ) *
Jeśli input zawiera poprawną nazwę elementu, do którego chcesz się odnieść, to podmień wartość używając .val().
Kod
$(input).val("55");



@down:
Przyrównujesz input_id do parametru TITLE nie mając takiego w swoich INPUTach.



Dziekuje Panowie za pomoc.. użylem val() i zaczeło wszystko działas..


w nazwie zostawiłem znaczki _ i one też nie szkodza.

Pozdr.
Go to the top of the page
+Quote Post
kamil4u
post
Post #9





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

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


Dodam tylko, że:
Kod
$(input).value="55";
nie ma prawa działać. Funkcja $ zwraca swój obiekt i nie można stosować na nim natywnych metod JS. Trzeba pobrać element i dopiero potem stosować zwykłe metody. jQuery użyło swoich odpowidników - np. val(),click() czy innych. Dlatego warto wiedzieć, że istnieje get( http://api.jquery.com/get/ );

Kod
$(input).get(0).value="55";


--------------------
Go to the top of the page
+Quote Post
wNogachSpisz
post
Post #10





Grupa: Zarejestrowani
Postów: 1 233
Pomógł: 87
Dołączył: 6.03.2009

Ostrzeżenie: (40%)
XX---


zawsze mozesz dobrac sie bezposrednio do elementu przez $(el).get(0), bo inaczej paracujesz na wraperze jQuery ktory zachowuje sie inaczej niz zrodlowy element.
Niekiedy jest roznica między atrybutem a polem obiektu, dla przykładu:

[JAVASCRIPT] pobierz, plaintext
  1. var img = document.createElement('img');
  2. alert( img.width ) // jedna wartość
  3. alert( img.getAttribute('width' ) // inna wartość
[JAVASCRIPT] pobierz, plaintext
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 20.08.2025 - 10:13