• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Ajax - checkboxy - przesyłanie zmiennych

0 głosów
515 wizyt
pytanie zadane 4 maja 2017 w JavaScript przez Ziuziek Mądrala (5,140 p.)
edycja 4 maja 2017 przez Ziuziek

Cześć mam pytanie jak zrobić, że zależnie od tego czy jeśli jest jeden checkbox zaznaczony będzie:

"suggest.php?q="+insert,

jeśli dwa

"suggest.php?q="+insert+'b='insert2'

a jesli 3

"suggest.php?q="+insert+'b='insert2'+'c='insert3'

Albo jakos tak podobnie bym mógł przesłać 3 parametry w oddzielnych zmiennych

<script type="text/javascript">
$(document).ready(function(){
$('.checkIt').change(function() {
		var insert = [];
		$('.checkIt').each(function(){
		if($(this).is(":checked"))
		{
			insert.push($(this).val());
		}
		});
		insert =insert.toString();
		$.ajax({
		url: "suggest.php?q="+insert
		method: "POST",
		data:{insert:insert},
		success:function(data){
			$('#main-container').html(data);
			}
			});
			});
			});
			
	
</script>

 

 

			<label for="opcje">Opcje (Proszę zaznaczyć przynajmniej jedną z opcji):</label>
			 <p>
	Z wyżywieniem <input type="checkbox" name="opcja[]" value="food" data-parsley-mincheck="1" class="checkIt" /><br>
	Z dojazdem <input type="checkbox" name="opcja[]" value="drive" class="checkIt" /><br>
	Z ubezpieczeniem <input type="checkbox" name="opcja[]" value="insurance" class="checkIt"/><br>
			</p>

 

 

I nie moge zmienic atrybutu value na value1 czy coś musi tak się nazywac

1 odpowiedź

0 głosów
odpowiedź 5 maja 2017 przez Leszek Szymański Gaduła (3,180 p.)
wybrane 6 maja 2017 przez Ziuziek
 
Najlepsza

Rozwiązanie robione na kolenie więc proszę o wyrozumiałość;)

Zobacz czy o to chodziło:

<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('.checkIt').change(function() {
	var data = $('form').serialize();
    $.ajax({
        url: 'index.html',
        data: data,
        processData: false,
        type: 'GET',
        success: function ( data ) {
          //  alert( data );
        }
    });
   });
 });
             
     
</script>
</head>
<body>
 <label for="opcje">Opcje (Proszę zaznaczyć przynajmniej jedną z opcji):</label>
         <p>
		 <form action="index.html">
		Z wyżywieniem <input type="checkbox" name="opcja1" value="food" data-parsley-mincheck="1" class="checkIt" /><br>
		Z dojazdem <input type="checkbox" name="opcja2" value="drive" class="checkIt" /><br>
		Z ubezpieczeniem <input type="checkbox" name="opcja3" value="insurance" class="checkIt"/><br>
		</form>
        </p>
</body>
</html>

 

komentarz 6 maja 2017 przez Ziuziek Mądrala (5,140 p.)
Ok pobiera po class a da rade po id?? By w formularzu po dodawac id="opcja1" id="opcja2" ,,.itd żeby nie używać class :D
komentarz 6 maja 2017 przez Leszek Szymański Gaduła (3,180 p.)
Po class to on tylko dziala na klikniecie. Podejrzyj sobie co sie dzieje w tle chrome F12. Po kliknieciu w cokolwiek co ma class checkIt i jest w form zbiera id tego pola wysyla przy pomocy get do index.html. wydaje mi sie ze o to Ci chodzilo.
komentarz 7 maja 2017 przez Ziuziek Mądrala (5,140 p.)
Sęk w tym ze on zbiera po name nie po id wartość

Podobne pytania

0 głosów
2 odpowiedzi 1,057 wizyt
+1 głos
2 odpowiedzi 862 wizyt
pytanie zadane 11 marca 2021 w JavaScript przez Grzegorz Mikina Dyskutant (8,060 p.)
+1 głos
2 odpowiedzi 831 wizyt

93,794 zapytań

142,763 odpowiedzi

323,450 komentarzy

63,408 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...