Pomoc przy checkboxach

Pomoc przy checkboxach
S9
  • Rejestracja:ponad 7 lat
  • Ostatnio:ponad 3 lata
  • Postów:14
0

Cześć, robię tabele na stronie z paroma kolumnami i w ostatniej jest kolumna z chboxami, po zaznaczeniu chciałbym aby wyświetlały się wartości tych chboxów, tylko problem jest w tym, że nie mogę do value tego inputa dodać swojej zmiennej, a najlepiej by było jakbym mógł przypisać do value wartość z 1 kolumny.
To mój taki prototypowy kodzik, działa tylko z wpisanymi na sztywno value. https://pastebin.com/HfPjeN9t

Dzięki z góry za wszelką pomoc

HA
  • Rejestracja:około 10 lat
  • Ostatnio:ponad 7 lat
  • Postów:335
0

Chętnie bym pomógł ale niewiele z tego zrozumiałem co napisałeś. Mógłbyś to jakoś bardziej precyzyjnie przedstawić?

S9
  • Rejestracja:ponad 7 lat
  • Ostatnio:ponad 3 lata
  • Postów:14
0

:) postaram się, jak widziałeś, mam na stronie tabelę. Jest LP, inicjały i w ostatniej kolumnie są checkboxy. Chodzi o to, żeby dla atrybutu inputa czyli value nadać moją wartość ze zmiennej, np var a = 3;, żeby nie przypisywać na sztywno value="1" itd. A docelowo chciałbym, aby value tego inputa było równe np liczbie porządkowej z pierwszej kolumny. Po zaznaczeniu checkoxów skrypt zwraca mi value. Na razie działa to tylko z takim zapisem

1PG<input type="checkbox" value="1" name="pacjenci[]"> Mam nadzieję, że choć trochę to wyjaśniłem.
S9
var a= 3; var chbx=document.getElementsByTagName("input")[1]; chbx.value = a; Mam rozwiązanie :D teraz potrzebuję przypisać do value lp pacjenta.
HA
  • Rejestracja:około 10 lat
  • Ostatnio:ponad 7 lat
  • Postów:335
1

nadać moją wartość ze zmiennej, np var a = 3;, żeby nie przypisywać na sztywno value="1"

To byłoby mniej więcej tak (ustawianie wartości na sztywno ze zmiennej):

Kopiuj
var a=3;
$("table#twojeid input[type=checkbox]").val(a);

Ustawianie wartości na podstawie komórki LP:

Kopiuj
$("table#twojeid tbody tr").each(function()
{
	_this=$(this);
	_this.find("input[type='checkbox']").val(_this.find("td:first-child").text());
});

Oczywiście, przy założeniu, że w wierszu jest tylko jeden checkbox i pierwsza kolumna zawiera te wartości, które chcesz nadpisać.
Można to trochę ładniej zawsze ująć ale w jQuery mniej więcej tak to będzie :D

S9
Wielki dzięki, jednak można jeszcze dostać bezinteresowną pomoc :D Nie chce już Cię wykorzystywać, ale ja dopiero zaczynam poznawać JS, czy da się to rozwiązanie usprawnić i wrzucić w pętlę, bo jak będę miał więcej wierszy w tabeli to nie nadąrzę dopisywać tych wartości. Jeszcze raz ogromne dzięki
HA
  • Rejestracja:około 10 lat
  • Ostatnio:ponad 7 lat
  • Postów:335
1

Oba rozwiązania spełniają twoje wymagania. Widziałem w kodzie, że masz zaimportowane jQuery (stare dość ale jest) więc oba rozwiązania są na tym oparte.
Masz jeszcze raz oba kody z commentsami

Kod 1

Kopiuj
var a=3;
$("table#twojeid input[type=checkbox]").val(a); // pobiera wszystkie inputy w tabeli i wstawia checkboxowi wartosc 3

Kod 2

Kopiuj
$("table#twojeid tbody tr").each(function() // listuje wszystkie wiersze w sekcji tbody
{
    _this=$(this); // zmienna pomocnicza
    _this.find("input[type='checkbox']").val(_this.find("td:first-child").text()); // w danym wierszu wyszukuje inputa i daje mu wartosc z pierwszej komorki td w tym wierszu
});
S9
Faktycznie, te komentarze bardzo pomocne. Nie wiem jak Ci dziękować, od tygodnia spędzało mi to sen z powiek. Pozdrawiam

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.