jQuery append ones and remove

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Senior, Medior and Junior SAP HANA Developer

Vacature details Vakgebied: Software/IT Opleiding: Medior Werklocatie: Veldhoven Vacature ID: 12696 Introductie Our client is the world's leading provider of lithography systems for the semiconductor industry, manufacturing complex machines that are critical to the production of integrated circuits or chips. Our purpose is “unlocking the potential of people and society by pushing technology to new limits”. We do this guided by the principles “Challenge”, “Collaborate” and “Care”. Wat verwachten we van jou? SAP Certified Application Associate - SAP HANA Cloud Modeling (training and/or certification) Bachelor degree or higher Excellent understanding of SAP HANA (2.0 / Cloud), Data Modelling and writing

Bekijk vacature »

Michael -

Michael -

25/03/2014 09:39:52
Quote Anchor link
Allen,

Ik loop weer vast met jQuery. Ik heb het volgende om aan te geven welke velden moeten worden ingevuld.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
$( '#frmPersonaldata :input' ).each(function(n,element){
            if ( $( element ).val() == '' && $( element ).attr( 'required' ) ) {
            
                $( element ).closest( ':input' ).addClass( 'error' ).before( '<span class="error">Gelieve dit veld in te vullen</span>' );
                
                $( '.status' ).text( 'Niet alle verplichte velden zijn ingevuld' );
                hasError = true;
            }
        });

Dit werkt prima bij 1 input veld per element, maar bij 2 input velden (straat+huisnummer, postcode+woonplaats) wordt 2x de span toegevoegd. Hoe voorkom ik dat? Heb al geprobeerd met find e.d. om te kijken of ie al bestaat, maar tot nu toe zonder resultaat.

Vervolgens heb ik het volgende om de span weer te verwijderen, maar hij verwijdert ze allemaal i.p.v. alleen de dichtstbijzijnde.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
    $( ':input' ).on( 'blur keyup', function( e ){
        //var id = $( this ).attr( 'id' );
        
        if( $( this ).val() == '' && $( this ).attr('required') ){
            $( this ).addClass( 'error' );
            hasError = true;
        } else {
            $( this ).removeClass( 'error' ).parent().find( 'span' ).remove();
        }
    });

Ik heb het geprobeerd met closest e.d., maar zonder resultaat.
Ook raar vind ik, wanneer ik begin te typen wordt de class error verwijdert, maar de span verdwijnt al gelijk op het moment dat ik op de input klik. Hoezo kan die actie anders zijn?

Bvd
 
Er zijn nog geen reacties op dit bericht.



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.