Więc mam te pola wyboru:
<input type="checkbox" name="type" value="4" />
<input type="checkbox" name="type" value="3" />
<input type="checkbox" name="type" value="1" />
<input type="checkbox" name="type" value="5" />
I tak dalej. Jest ich około 6 i są ręcznie kodowane (tj. Nie są pobierane z bazy danych), więc prawdopodobnie przez jakiś czas pozostaną takie same.
Moje pytanie brzmi, jak mogę je wszystkie uzyskać w tablicy (w javascript), aby móc ich używać podczas wykonywania $.post
żądania AJAX za pomocą Jquery.
jakieś pomysły?
Edycja: chciałbym, aby tylko zaznaczone pola wyboru zostały dodane do tablicy
javascript
jquery
ajax
dhtml
Kliknij opcję Głos za
źródło
źródło
Odpowiedzi:
Sformatowany:
Miejmy nadzieję, że zadziała.
źródło
yourArray = []
map
zamiasteach
:var yourArray = $("input:checkbox[name=type]:checked").map(function(){return $(this).val()}).get()
function get_selected_checkboxes_array(){ var ch_list=Array(); $("input:checkbox[type=checkbox]:checked").each(function(){ch_list.push($(this).val());}); return ch_list; }
źródło
Czysty JS
Dla tych, którzy nie chcą używać jQuery
źródło
Nie testowałem tego, ale powinno działać
źródło
To powinno załatwić sprawę:
Wydaje mi się, że nie masz innych elementów, które można sprawdzić, ale jeśli tak, musisz to sprecyzować:
źródło
W MooTools 1.3 (najpóźniej w momencie pisania):
źródło
Jeśli chcesz użyć waniliowego JS, możesz to zrobić podobnie do @ zahid-ullah, ale unikając pętli:
Ten sam kod w ES6 wygląda o wiele lepiej:
Pokaż fragment kodu
źródło
W Javascript wyglądałoby to tak (link demonstracyjny) :
źródło
Wersja ES6:
Pokaż fragment kodu
źródło
Czysty JavaScript bez tymczasowych zmiennych:
źródło
źródło
Po zaznaczeniu dodaj wartość do pola wyboru, a po odliczeniu odejmij wartość
źródło
Innym sposobem na zrobienie tego za pomocą vanilla JS w nowoczesnych przeglądarkach (brak obsługi IE i niestety brak obsługi iOS Safari w momencie pisania) jest użycie FormData.getAll () :
źródło
Korzystanie z Jquery
Musisz tylko dodać klasę do każdego wejścia, mam dodać klasę "source", możesz to oczywiście zmienić
źródło
Użyj tego:
źródło
Użyj komentowanego bloku if, aby zapobiec dodawaniu wartości, które już znajdują się w tablicy, jeśli używasz przycisku kliknięcia lub czegoś, co uruchamia wstawianie
źródło
Możesz spróbować czegoś takiego:
Tutaj
źródło
oto mój kod na ten sam problem, ktoś też może spróbować. jquery
źródło
źródło
źródło