Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [jQuery] Identyfikator obiektu ze zmiennej?
Forum PHP.pl > Forum > Przedszkole
kukix
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.
wNogachSpisz
Cytat(kukix @ 4.01.2012, 14:45:05 ) *
zmienny identyfikator

Co to takiego?
-Rosol-
  1. $('input').val(55)
Bartłomiej Skwara
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.
kukix
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.

phpion
Co pokaże alert(input)? Pewnie samo #pole_. Czy w przycisku, który klikasz masz atrybut title i czy jest on liczbą?
rocktech.pl
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
kukix
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.
kamil4u
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";
wNogachSpisz
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
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.