Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [AJAX][JavaScript]Po zaznaczeniu checkbox'a dodaje się wartość do Array
Asig
post
Post #1





Grupa: Zarejestrowani
Postów: 37
Pomógł: 0
Dołączył: 26.10.2013

Ostrzeżenie: (0%)
-----


Witam.

Mam problem z formularzem w formularzu tego typu, że takie coś jest niemożliwe.
Wpadłem więc na pomysł, że może JavaScript albo Ajax umiałoby to zrobić.

Chodzi o to, że mam np. 20 postów i przy każdym poście jeden CHECKBOX który wygląda tak:
  1. <input type="checkbox" name="post[]" value="1">


Chciałbym aby po naciśnięciu jakiegoś przycisku np. <a> wszystkie id postów sumowało mi w jednym INPUCIE w takiej formie:
  1. <input id="id_inputu_dla_js" value="1,2,3,4,5,6,7,8,9">


Natomiast gdyby ktoś drugi raz kliknął w przycisk, to dany value by znikał z inputa, np. jak kliknę drugi raz w przycisk z wartością "5" to ją usunie tak, że wartość inputa pozostanie taka:
  1. <input id="id_inputu_dla_js" value="1,2,3,4,6,7,8,9">


Proszę o pomoc,
Pozdrawiam!
Go to the top of the page
+Quote Post
CuteOne
post
Post #2





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

Ostrzeżenie: (0%)
-----


[JAVASCRIPT] pobierz, plaintext
  1. var str = '';
  2. $('.checkbox').on('click', function (){
  3. if ($(this).is(':checked')) {
  4. str += $(this).val();
  5. }
  6. console.log(str);
  7. });
[JAVASCRIPT] pobierz, plaintext

Wartość określa, który to input.

ps. musisz posiadać jQuery

Ten post edytował CuteOne 21.08.2014, 18:19:04
Go to the top of the page
+Quote Post
trueblue
post
Post #3





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


  1. $('input.do_zliczania').click(function(){
  2. var ids=$('#id_inputu_dla_js').val();
  3. if(ids!==''){
  4. if(ids.indexOf(',')>-1)
  5. ids=ids.split(',');
  6. else{
  7. var tmp=new Array();
  8. tmp.push(ids);
  9. ids=tmp;
  10. }
  11. }
  12. else
  13. ids=new Array();
  14. if($(this).prop('checked')){
  15. if(!$.inArray($(this).val(),ids))
  16. ids.push($(this).val());
  17. }
  18. else{
  19. if($.inArray($(this).val(),ids))
  20. ids.splice($.inArray($(this).val(),ids),1);
  21. }
  22. $('#id_inputu_dla_js').value(ids.join(','));
  23. });


Ten post edytował trueblue 21.08.2014, 18:25:04
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 05:46