Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: js - wstawienie do inputa wartości po kliknięciu w tekst.
Forum PHP.pl > Forum > PHP
casperii
Panowie proszę mi wytłumaczyć dlaczego poniższy kod nie działa jak należy:

  1. $('div.ilosc').click(function () {
  2. var $this = $(this);
  3. if (!$this.children('input').length) {
  4. var wartosc = $this.text();
  5. //alert('to wyswietli poprawnie' + wartosc);
  6. $this.empty().append($('<input type="text">').attr('value', wartosc)).append('&nbsp;');
  7. }
  8. });


powyższy kod nie wstawia w input wartości , zmiana na .val(wartosc) też nic nie daje.
Natomiast jeśli wyświetlę alert(wartosc) to pokazuje poprawną wartość, o co chodzi?
ZenekN
https://jsfiddle.net/bskdfo1m/1/
casperii
Nie zrozumiałeś @ZeneKN
Twój kod przedstawia kopiowanie z do input.

Moim celem jest po kliknięciu w wartość, zmienienie tej wartości na input oraz wstawienie tej wartości w ten input.
rad11
https://jsfiddle.net/bskdfo1m/7/
casperii
@rad11 okazało się że mój kod też wstawiał tylko że jakoś dziwnie wartość była schowana na środku inputa.
Mam jeszcze pytanie odnośnie kodu:

  1. $('div.ilosc').click(function () {
  2. var $this = $(this);
  3. if (!$this.children('input').length) {
  4. var wartosc = $this.text();
  5. $this.empty().append($('<input autocomplete="off" type="text" name="ilosc" style="width:35px;">').attr('value', wartosc)).append('&nbsp; <img src="/images/button_ok.png" class="save_button_ok">');
  6.  
  7. //jeśli pokazono przycisk OK - wstawiamy kolejną funkcje
  8. $('.save_button_ok').click(function () {
  9. var wartosc_input = $('input[name="ilosc"]').val();
  10. alert('ok' + wartosc_input);
  11. });
  12. //koniec dodatkowej funkcji
  13.  
  14. }
  15. });
  16.  



czyli załóżmy że z bazy pokazuje mi się wartość 10 - klikam na nią tworzy mi się input z wartością 10 oraz przycisk w formie IMG, po kliknięciu na niego pobieram wartość, póki co pobiera mi tylko dla 1 rekordu, co robię źle ?
LowiczakPL
pobierasz dla pierwszego lepszego INPUTA o nazwie ilosc jeśli chcesz pobrać dla konkretnego to musi on być w kontenerze lub dla elementu przed IMG czyli

  1. $('.save_button_ok').click(function () {
  2. var wartosc_input = $(this).prev().val();
  3. alert('ok' + wartosc_input);
  4. });
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.