Jak użyć jQuery, aby uzyskać zaznaczone wartości pól wyboru i natychmiast umieścić je w polu tekstowym?
Podobnie jak ten kod:
<html>
<head>
</head>
<body>
<div id="c_b">
<input type="checkbox" value="one_name" checked>
<input type="checkbox" value="one_name1">
<input type="checkbox" value="one_name2">
</div>
<textarea id="t"></textarea>
</body>
</html>
Jeśli Ajaxid="c_d"
zaktualizuje , poniższy kod altCognito nie działa. Czy jest jakieś dobre rozwiązanie?
Odpowiedzi:
Oto jeden, który działa ( patrz przykład ):
Aktualizacja
Kilka miesięcy później zadano kolejne pytanie, w jaki sposób utrzymać powyższe działanie w przypadku zmiany ID. Cóż, rozwiązanie sprowadza się do mapowania funkcji updateTextArea na coś generycznego, który wykorzystuje klasy CSS, i do użycia funkcji live do monitorowania DOM pod kątem tych zmian.
źródło
$(document).on("click", "#c_b input", updateTextArea);
zamiast tego, aby obejść problemy ajax.$('#c_b:checked')
(nacisk na odstępy)?Możesz także zwrócić wszystkie wybrane wartości pól wyboru w ciągu oddzielonym przecinkami. Ułatwi to również wysyłanie go jako parametru do SQL
Oto przykład, który zwraca wszystkie wybrane wartości pól wyboru, które mają nazwę „chkboxName” w osobnym ciągu przecinkowym
A oto javascript
Oto próbka HTML
źródło
Twoje pytanie jest dość niejasne, ale myślę, że potrzebujesz tego:
Edycja: Och, dobra .. proszę bardzo ... Nie miałeś wcześniej kodu HTML. W każdym razie tak, myślałem, że chcesz umieścić wartość w polu tekstowym, kiedy zostanie kliknięty. Jeśli chcesz, aby wartości zaznaczonych pól wyboru były umieszczane w obszarze tekstowym (być może z ładnym rozdzielaniem przecinków) podczas ładowania strony, byłoby to tak proste, jak:
Edycja 2 Jak zrobili ludzie, możesz to zrobić, aby skrócić długi selektor, który napisałem:
... całkowicie zapomniałem o tym skrócie. ;)
źródło
Działa to dla mnie idealnie:
Dzięki Mohamed ElSheikh
źródło
Dzięki altCognito Twoje rozwiązanie pomogło. Możemy to również zrobić, używając nazwy pól wyboru:
źródło
Poniższe informacje mogą być przydatne, ponieważ szukałem tu nieco innego rozwiązania. Mój skrypt musiał automatycznie zapętlać elementy wejściowe i musiał zwrócić ich wartości (dla funkcji jQuery.post ()), problem polegał na tym, że pola wyboru zwracały swoje wartości bez względu na sprawdzony status. To było moje rozwiązanie:
Stosowanie:
Jeśli dane pole wejściowe jest polem wyboru, funkcja input_val zwraca wartość tylko wtedy, gdy jest zaznaczona. Dla wszystkich innych elementów wartość jest zwracana niezależnie od statusu zaznaczonego.
źródło
Oto alternatywa na wypadek, gdybyś musiał zapisać wartość do zmiennej:
(map () zwraca tablicę, którą uważam za wygodniejszą niż tekst w textarea).
źródło
źródło
źródło
źródło
W każdym razie prawdopodobnie potrzebujesz czegoś takiego:
Spowoduje to pobranie wartości pierwszego zaznaczonego pola wyboru na stronie i wstawienie go w polu tekstowym za pomocą
id='textarea'
.Zauważ, że w przykładowym kodzie powinieneś umieścić pola wyboru w formularzu.
źródło
is
zwraca wartość logiczną, wartość logiczna nie maval
metody.Znacznie łatwiejsza i krótsza droga, której używam do osiągnięcia tego samego, przy użyciu odpowiedzi z innego postu, wygląda następująco:
Pierwotnie miasta są pobierane z bazy danych MySQL i zapętlone w PHP podczas pętli:
Teraz, używając powyższego kodu jQuery, otrzymuję wszystkie wartości city_id i przesyłam z powrotem do bazy danych za pomocą $ .get (...)
Ułatwiło mi to życie, ponieważ kod jest teraz w pełni dynamiczny. Aby dodać więcej miast, wystarczy dodać więcej miast do mojej bazy danych i nie martw się o PHP lub jQuery.
źródło
Miałem podobny problem i tak rozwiązałem go, korzystając z powyższych przykładów:
źródło
Spróbuj tego..
źródło
Jeśli chcesz natychmiast wstawić wartość dowolnego pola wyboru podczas sprawdzania, powinno to działać dla Ciebie:
źródło