Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: jQuery pobieranie value z dynamicznie pobieranego inputu
Forum PHP.pl > Forum > Po stronie przeglądarki
JakubBab
Czesc,

Kto wie jak pobrac dane (value) z dynamicznie utowrzonego <td> przy evencie onClick ? Nie moge przez selektor bo nie wiadomo w co user kliknie.

Wujek google nic sensownego nie podpowiedzial.

Tutaj tabela i inne pierdoly

  1. $(document).ready(function () {
  2.  
  3. function currentDay() {
  4. var data = new Date();
  5. $.post('receiver.php', data, function (data) {
  6.  
  7. var mydata = JSON.parse(data);
  8.  
  9. var weekDays = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"];
  10. var tableH = '<table id="calc"><tr>';
  11. var count = 1;
  12. var counter = 0;
  13. for (i = 0; i < mydata.length; i++) {
  14.  
  15. tableH += '<th>' + weekDays[i] + '</th>';
  16.  
  17. }
  18. tableH += '</th></tr>';
  19.  
  20. for (j = 0; j < 36; j++) {
  21. if (j == 0) {
  22. tableH += '<tr>';
  23. }
  24.  
  25. if (j > 0 && j <= 35) {
  26. tableH += "<td><input id ='daysRow" + j + "'type='hidden' value='" + mydata[counter] + "'/>" + j + "</td>";
  27. // mydata[counter]
  28. if (j % 7 == 0) {
  29. tableH += "</tr><tr>";
  30. count++
  31. counter = -1;
  32. }
  33. counter++;
  34.  
  35. if (j == 35) {
  36. tableH += "</table>";
  37. }
  38. }
  39. }
  40. $('#tabHead').html(tableH);
  41.  
  42. });
  43. }
  44.  
  45.  
  46. currentDay();
  47.  
  48. });


a tutaj proba wyciagniecia danych
  1. $('#tabHead').on('click','td',function(){
  2. var txt = $(this).val();
  3. $('#bdate').html(txt);
  4. dialog.dialog('open');
  5. });
trueblue
Do czego służy i dla jakich elementów: http://api.jquery.com/val/
Do czego służy: http://api.jquery.com/text/
JakubBab
Nie wiem czy taka jest praktyka ale tak to wykombinowalem i dziala.

  1. $('#tabHead').on('click', 'td', function () {
  2.  
  3.  
  4. $(this).closest('td').each(function () {
  5. status = $(this).text();
  6. tdVal = $('#daysRow' + status).val();
  7.  
  8. });
  9.  
  10. $('#bdate').html(tdVal);
  11. dialog.dialog('open');
  12. });


Poprawka, udalo sie bo wyciaga dane z inputu ale te dane znikna bo przeciez po jasny gwint cyferki w polach <?>.
Wtedy
  1. status = $(this).text();
bedzie undefined
  1. tdVal = $('#daysRow' + status).val();
a to bedzie bez sensu

No i wykombinowalem

  1. $('#tabHead').on('click', 'td', function () {
  2.  
  3.  
  4. $(this).closest('td').each(function () {
  5. status = $('input',this).val();
  6.  
  7.  
  8.  
  9. });
  10.  
  11. $('#bdate').html(status);
  12. dialog.dialog('open');
  13. });


Dziekuje za uwage.
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.