max 2 vinkjes bij checkboxes werkt niet (wel op Fiddle)

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Hans De Ridder

Hans De Ridder

02/08/2017 15:45:19
Quote Anchor link
Ik wil een mogelijkheid hebben om max. 2 hokjes aan te vinken bij checkboxen voor een form.
Maar dat lukt me niet. Al paar voorbeelden getest die via fiddle werken.
Dat gaat prima.
Ook als ik de afzonderlijke html test. En apart de javascript.
Dit stukje maakt deel uit van een form.
Wat doe ik verkeerd?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<html>
<head>
<script type="text/javascript" src="//code.jquery.com/jquery-2.1.4.min.js"></script>
<script type="text/javascript">

$('input[type=checkbox]').change(function(e){
   if ($('input[type=checkbox]:checked').length > 2) {
        $(this).prop('checked', false)
        alert("allowed only 2");
   }
})

</script>
</head>
<body>
      <input class="single-checkbox" type="checkbox" name="Werk" value="Zang">Zang
          <input class="single-checkbox" type="checkbox" name="Werk" value="Geluid">Geluid
          <input class="single-checkbox" type="checkbox" name="Werk" value="DJ">DJ
      <input class="single-checkbox" type="checkbox" name="Werk" value="Video">Video<br>
          <input class="single-checkbox" type="checkbox" name="Werk" value="Producent">Producent
          <input class="single-checkbox" type="checkbox" name="Werk" value="Tekst">Tekst
          <input class="single-checkbox" type="checkbox" name="Werk" value="Verkoop">Verkoop
          <input class="single-checkbox" type="checkbox" name="Werk" value="Overig">Overig
</body>
</html>
 
PHP hulp

PHP hulp

27/11/2024 11:37:11
 
- Ariën  -
Beheerder

- Ariën -

02/08/2017 16:03:44
Quote Anchor link
Je 'ready'-functie in jQuery mis je.
 
Jan R

Jan R

02/08/2017 16:09:37
Quote Anchor link
Als ik dit er van maak werkt het
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<!doctype html>
<html>
    <head>
        <script type="text/javascript" src="http://code.jquery.com/jquery-2.1.4.min.js"></script>
    </head>
    <body>
        <input class="single-checkbox" type="checkbox" name="Werk" value="Zang">Zang
        <input class="single-checkbox" type="checkbox" name="Werk" value="Geluid">Geluid
        <input class="single-checkbox" type="checkbox" name="Werk" value="DJ">DJ
        <input class="single-checkbox" type="checkbox" name="Werk" value="Video">Video<br>
        <input class="single-checkbox" type="checkbox" name="Werk" value="Producent">Producent
        <input class="single-checkbox" type="checkbox" name="Werk" value="Tekst">Tekst
        <input class="single-checkbox" type="checkbox" name="Werk" value="Verkoop">Verkoop
        <input class="single-checkbox" type="checkbox" name="Werk" value="Overig">Overig
        <script type="text/javascript">
            $('input[type=checkbox]').change(function(e){
                if ($('input[type=checkbox]:checked').length > 2) {
                    $(this).prop('checked', false)
                    alert("allowed only 2");
                }
            })
        </script>
    </body>
</html>
Gewijzigd op 02/08/2017 16:12:08 door Jan R
 
Hans De Ridder

Hans De Ridder

02/08/2017 16:09:42
Quote Anchor link
Dat had ik ook al gedaan....
Maar zal het nog eens proberen.
Dat was het toch...
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
$( document ).ready(function() {
$('input[type=checkbox]').change(function(e){
   if ($('input[type=checkbox]:checked').length > 2) {
        $(this).prop('checked', false)
        alert("allowed only 2");
   }
})
});


Bedankt voor het meedenken.
Gewijzigd op 02/08/2017 16:18:46 door Hans De Ridder
 
Jan R

Jan R

02/08/2017 18:16:15
Quote Anchor link
Zoals Ariën al schreef.
ready ontbreekt
of achteraan de html is ok een optie
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.