Jquery: meerdere button id's

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Network Engineer (f/m/d) in Heidelberg

Network Engineer (f/m/d) The IT Services team operates and supports the IT infrastructure and services at EMBL headquarters in Heidelberg and at the laboratory’s sites in Barcelona and Rome. As part of IT Services, the Network team is responsible for managing and developing the network infrastructure in our data centres, on campus, and to our external network providers. As a leading scientific institution with highly data-intensive research, extensive data flows at and between the laboratory’s six sites and to the Internet, EMBL is connected to national and international scientific networks using state-of-the-art technologies from vendors including Cisco, Extreme Networks and

Bekijk vacature »

Developer

Functie omschrijving Gaat jouw hart sneller kloppen van software developen in C#.NET? Voor een softwarebedrijf in regio Den Bosch zijn wij op zoek naar een C# programmeur. Lees snel verder! Wat ga je doen? Je gaat werken met C# en ASP.NET MVC Framework om onder meer webapplicaties, webshops en websites te ontwikkelen. Je optimaliseert de bestaande software en helpt mee aan het automatiseren van bedrijfsprocessen. Je gaat samen met je collega's de juiste oplossing op basis van de wensen van de klanten uitwerken tot een mooi product. Bedrijfsprofiel Het ontwikkelen van softwareoplossingen en kantoorautomatiseringen is waar dit bedrijf voor staat.

Bekijk vacature »

Mendix Developer

Voor Troostwijk Groep zoeken wij een: Mendix Developer Wij zoeken Je bent een getalenteerde en ervaren Mendix Developer en het is tijd om je horizon te verbreden. Je wilt minder coderen en meer modelleren, minder bezig zijn met allerlei technische details en randvoorwaarden en meer met functionaliteit. Daarnaast ben je trots op de innovatieve en gebruiksvriendelijke applicaties die je in de loop van de jaren hebt gebouwd. Werk je graag in een enthousiast team, wil je veel vrijheid en kun je tegelijkertijd goed met deadlines omgaan, dan ben jij absoluut degene die wij zoeken! Wat je nodig hebt is ruime

Bekijk vacature »

Programmeur / Developer

Voor een familiebedrijf in Doetinchem, actief in de machinebouw voor de food-sector, zijn wij op zoek naar een programmeur / developer. In deze functie ben je werkzaam in een team van 5 medewerkers. Je werkzaamheden bestaan onder andere uit het verhelderen van requirements vanuit de opdrachtgever, de klant en de afdeling ontwikkeling. Je verricht haalbaarheidsstudies en werkt specificaties uit die je afstemt met de opdrachtgever. Je ontwerpt design in software en stemt af met je collega's. De huidige vision-systemen zijn geschreven in C software, welke draait op een CUDA platform. Je schrijft en codeert software en zal gaan testdraaien. Tot

Bekijk vacature »

Trainee pega developer

Wil jij een mooie stap maken in jouw carrière? Mooi! Bij De Mandemakers Groep haal je binnen 6 maanden je CSA- en CSSA-certificaten, waarna jij aan de slag kan als Pega-developer in ons IT-team. Achter de schermen zorg jij ervoor dat collega’s efficiënt werken en klanten iedere dag beter geholpen worden. Wil jij daaraan bijdragen? En jouw ICT-skills ontwikkelen? Lees dan snel verder en solliciteer vandaag nog als trainee Pega-developer. Wat ga je doen? Als trainee Pega developer leiden wij je op tot gecertificeerd software developer voor het low-code platform PegaSystems. In de training ben je verantwoordelijk voor een te

Bekijk vacature »

Java Ontwikkelaar

Java/Kotlin Developer Ben jij een ervaren Java/Kotlin developer met een passie voor het automatiseren van bedrijfsprocessen? Wil je graag deelnemen aan uitdagende projecten bij aansprekende klanten? En ben je op zoek naar een professioneel, ambitieus en dynamisch bedrijf om je carrière verder te ontwikkelen? Kom dan ons team bij Ritense in Amsterdam versterken! Zo ziet de functie eruit: Als Java/Kotlin developer bij Ritense ben je verantwoordelijk voor de ontwikkeling en implementatie van applicaties die bedrijfsprocessen automatiseren, zodat onze klanten slimmer, efficiënter en klantgerichter kunnen werken. Als developer ben je in de lead en zorg je voor de correcte oplevering van

Bekijk vacature »

Freelance JAVA / C# Developer

Functieomschrijving Ben je een ervaren freelancer of werk je in loondienst en ben je toe aan een nieuwe uitdaging? Lees dan snel verder want wie weet is dit een leuke vacature voor jou! Voor een opdrachtgever in omgeving Delft zijn wij op zoek naar ervaren JAVA of C# Developers die graag op projectbasis willen werken. Je komt terecht bij een informele developers club die mooie projecten uitvoeren voor grote klanten. Het fijne van deze werkgever is dat je zelf mag beslissen hoe je te werk wilt gaan. Wil je als freelancer werken dan is dat OK. Wil je de zekerheid

Bekijk vacature »

Front-end developer - working on software for arou

Functie They have recently started looking for an experienced Front-end (mobile/app) developer. Because of the short lines within the team, they are also looking for someone who can communicate with the service desk, sales and support for technical questions. You will join their IT team consisting of about 10 colleagues divided over two teams in rooms opposite each other. Half of these are involved in their front-end. You will work together with, among others, the Architect, 1 senior, 1 junior and there is a Team Leader. In terms of technology, they work with a unique tech-stack, particularly because of the

Bekijk vacature »

Ervaren PHP ontwikkelaar

Functie Jij als PHP ontwikkelaar komt te werken in een team van 4 andere PHP ontwikkelaars. Je zult je voornamelijk bezig houden met: – Het ontwikkelen van nieuwe features – Doorontwikkelen van de API – Nadenken over de technische infrastructuur – Datakwaliteit Samen met het team ben jij verantwoordelijk voor de verdere ontwikkeling van de software en om de positie als marktleider in Europa te behouden. Ze werken volgens SCRUM in 2 wekelijkse sprints, werken met Jira voor alle tickets en communiceren veel via Slack. Eisen • Minimaal 3 jaar ervaring als back end developer • Je hebt affiniteit met

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

Lead C++ Developer

The role of Lead C++ Developer As Lead C++ Developer at KUBUS you will be responsible for the implementation design of requirements and the software architecture of the desktop applications of BIMcollab, our platform for 3D model validation and issue management aimed at improving the quality of 3D building design models. Better 3D models lead to better buildings, thus contributing to the sustainability of the built environment with smarter use of materials, less waste and energy-efficient buildings. A good user experience is of paramount importance to us; we go for innovation and quality in our development. In your role as

Bekijk vacature »

Medior C# Developer

Samen met het development team zorg je ervoor dat alle systemen achter de schermen vlekkeloos werken. Wat doe je als Medior C# Developer bij Coolblue? Als C# developer doe je regelmatig mee aan brainstormsessies over user experience, data en task flow met de UX Designer, Product Owner en Data Scientist in je team. Daarnaast schrijf je op zichzelf staande, consistente en testbare code die goed onderhoudbaar en toekomstbestendig is. Ook C# Developer worden bij Coolblue? Lees hieronder of het bij je past. Dit vind je leuk om te doen Werken met verschillende soorten data-opslag, zoals Oracle of AWS. Problemen oplossen

Bekijk vacature »

Software Ontwikkelaar

Functie omschrijving Voor een echt familiebedrijf in de omgeving van 's-Hertogenbosch ben ik op zoek naar een Software Developer. Jij gaat in de functie van Software Developer werken met C# en .NET framework Jij gaat maatwerk software ontwikkelen en softwareoplossingen creëren. Daarnaast optimaliseer je de bestaande software. Oplossingen waar de klant echt iets aan heeft, jij krijgt er energie van op dit te realiseren. Je gaat werken in een Microsoft omgeving(ASP.NET) en gebruikt daarnaast C# en MVC. Samen met het huidige IT team binnen deze organisatie verwerk je de wensen van de klant tot een (eind)product. Bedrijfsprofiel Deze organisatie is

Bekijk vacature »

Senior Front-End Developer

Als Senior Front-End Developer bij Coolblue verbeter je de gebruiksvriendelijkheid van onze webshop voor miljoenen klanten. Wat doe je als Senior Front-End Developer bij Coolblue? Als Senior Front-end Developer werk je aan de gebruiksvriendelijkheid van onze webshop voor miljoenen klanten. Je vindt het leuk om samen te werken met de UX designer om stories op te pakken. Daarnaast ben je trots op je werk en verwelkomt alle feedback. Ook Senior Front-end Developer worden bij Coolblue? Lees hieronder of het bij je past. Dit vind je leuk om te doen Verbeteren van de gebruiksvriendelijkheid van onze webshop voor miljoenen klanten. Nadenken

Bekijk vacature »

Randstad B.V.- Freelance Senior Fullstack Develope

Startdatum: 01.05.2023 Richttarief: € 75,00 - €85,00 Duur van de opdracht: 1 jaar Uren per week: 40 Werkmodel: Hybride, dinsdag en donderdag aanwezig op kantoor in Diemen en meer wanneer dit nodig is. Functieomschrijving: De ideale kandidaat gaat onderdeel uitmaken van een junior team binnen het foundation domein. Vanuit het foundation domein werkt dit team samen met andere foundation teams en teams uit het online domein (professionals B2B en B2C) voor het bouwen en integreren van HRM functionaliteiten (verlof en benefits) in de persoonlijke portal van Interim Professionals. Er is meer backend werk dan frontend, maar kandidaat moet beiden leuk

Bekijk vacature »
N K

N K

24/10/2012 20:48:00
Quote Anchor link
Oke, ik ben bezig Jquery onder de knie te krijgen. Onderstaand mijn eerste opzet voor een stukje functionaliteit die een div moet markeren en eventueel demarkeren (met css) en het id hiervan moet wegschrijven in een inputveld en een counter moet ophogen. (ik heb te maken met meerdere divs met verschillende id's en meerdere markeerbuttons)

Mijn probleem is dat ik de buttonclass .markevent dynamisch wil maken maar niet weet hoe ik dit moet doen.
Als ik nu de markeerbutton aanklik dan hoogt de counter elke keer op. Ik wil dat de counter maar 1 keer ophoogt(of verlaagd) bij het klikken van deze specieke button.
Heeft iemand een idee hoe ik dit het beste kan aanpakken?


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
26
27
28
29
30
31
32
33
<?php
<script>
$(document).ready(function(){
    $('#count').text( 'Geen events gemarkeerd');
    $('.markevent').click (function(){
        var
id = $(this).attr('id');
        $.ajax({                                      
          url: 'markevent.php',                        
          data: 'id=' + id,                                                      
          dataType: 'json',                    
          success: function(data)          
          {
            var
event_id = data[0];              
            var
title = data[3];          
    
            $('<li class="countevents" id="' + event_id + '"><input type="hidden" name="' + event_id + '" id="' + event_id + '"></li>').appendTo('ul');
            var
n = $(".countevents").length;
            $('#count').text( + n + ' event(s) gemarkeerd');
            $('#selectevent' + id).css('border','1px solid red');
          }
        });
    });

  $('.unmarkevent').click (function(){
            var
id = $(this).attr('id');
            $('li[id=' + id +']').remove();
            var
n = $(".countevents").length;
            $('#count').text( + n + ' event(s) gemarkeerd');  
            $('#selectevent' + id).css('border','1px solid white');
  
  });
});

</script>

?>



Toevoeging op 25/10/2012 16:02:26:

Iemand?
Gewijzigd op 25/10/2012 14:47:01 door N K
 
PHP hulp

PHP hulp

25/11/2024 18:43:35
 
Kris Peeters

Kris Peeters

25/10/2012 17:56:26
Quote Anchor link
De count zou dus moeten vertellen hoeveel divs als "gemarkeerd" staan.
Nu tel je dit door <li class="countevents"> te tellen

Maar je zou het rechtstreeks kunnen tellen; aflezen aan de div zelf.

Twee extra classes aanmaken: "marked" en "unmarked". Die geven we mee aan de divs, eventueel als tweede class (1 element mag meerdere classes bevatten). Die witte of rode border kunnen dan met css geregeld worden.
En vooral: dan kan je die class gebruiken om te tellen: $('div.marked').length

---

Nu; een aantal dingen moeten nog veel duidelijker worden.
Vooral dan de rol van id in de DB <=> id van het HTML-element.
Ik zou die wat uit mekaar trekken. Op deze manier is het verwarrend.

1 Van de leuke attributes, is "data-..." Daar kan je extra informatie aan een HTML-element plakken, zonder dat het verder stoort voor het element.
bv.
<div class="content" data-id="15">Klik</div>
->
$('.content').click(function(e) {
var id = $(this).data('id') // geeft dus 15; heeft niets te maken met de id van het HTML-element
...
---

Ik zal straks een voorbeeld maken.
Kan je ondertussen een voorbeeld geven van een jSON-string die markevent.php terug geeft?
(sowieso, als je reageert, valt het beter op wanneer er een nieuwe post is ... anti-bump-wet ...)
Gewijzigd op 25/10/2012 17:58:24 door Kris Peeters
 
N K

N K

25/10/2012 18:15:15
Quote Anchor link
Hee Kris

Zoiets?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php

["61","19","15","Expositie blabla","
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum<\/p>"
,"2012-09-05","08:15:00","10:00:00","0","0"]
?>
 
Kris Peeters

Kris Peeters

25/10/2012 19:35:04
Quote Anchor link
Ja, precies.

Dit is ongeveer de bedoeling. Juist?

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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
<!DOCTYPE html>
<html>
  <head>
    <style>
        .marked {
          border: 1px solid red;
        }
        .unmarked {
          border: 1px solid white;
        }
    </style>
  </head>
  <body>
    
    <div class="markdiv unmarked" data-id="15"> 15 </div>
    <div class="markdiv unmarked" data-id="21"> 21 </div>
    <div class="markdiv unmarked" data-id="23"> 23 </div>
    <div class="markdiv unmarked" data-id="27"> 27 </div>
    
    <input type="button" class="markevent" data-id="15" value="mark 15">
    <input type="button" class="markevent" data-id="21" value="mark 21">
    <input type="button" class="markevent" data-id="23" value="mark 23">
    <input type="button" class="markevent" data-id="27" value="mark 27">
    <br>
    <input type="button" class="unmarkevent" data-id="15" value="unmark 15">
    <input type="button" class="unmarkevent" data-id="21" value="unmark 21">
    <input type="button" class="unmarkevent" data-id="23" value="unmark 23">
    <input type="button" class="unmarkevent" data-id="27" value="unmark 27">
    
    <div id="count"></div>
  
    <ul></ul>
    
  <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
  <script>
    $(document).ready(function($) {
      $('.markevent').click(function(e) {
        var id = $(this).data('id');
        // deze klik naar de server sturen
        $.ajax({
          url: 'markevent.php',                        
          data: {id: id},   // ik vind deze notatie wat eleganter
          dataType: 'json',
          success: function(data) {
            data = eval(data);
            var id = data[0];
            var div = $('div[data-id="' + id +'"]');
            div.addClass('marked');
            div.removeClass('unmarked');
            // geen idee of de volgende lijn nog nodig is ... moet je zelf zien ... maar ik doe er verder niets mee
            $('<li class="countevents" id="' + id + '"><input type="hidden" name="' + id + '" id="' + id + '"></li>').appendTo('ul');
            displayCounter();
          },
        });
      });
      $('.unmarkevent').click(function(e) {
        var id = $(this).data('id');
        var div = $('div[data-id="' + id +'"]');
        div.addClass('unmarked');
        div.removeClass('marked');
        displayCounter();
      });
      function displayCounter() {
        $('#count').html(
           $('.marked').length
           + ' event(s) gemarkeerd'
        );
      }
    });
  </script>
  </body>
</html>
Gewijzigd op 25/10/2012 19:35:57 door Kris Peeters
 
N K

N K

25/10/2012 20:40:19
Quote Anchor link
Ja dat is hem! Wederom dank!

Ik zie een paar dingen die me nog niet bekend waren:
1)Data-id attribuut: Nog nooit van gehoord, misschien stomme vraag maar werkt dit op alle browsers?
2) $(document).ready(function($) {
$('.markevent').click(function(e)

Ik weet dat $ voor jQuery staat maar waarom zet je deze ook bij function($)
Wat betekent die "e" bij (function(e). Ik zie deze nergens terugkomen?
 
Kris Peeters

Kris Peeters

25/10/2012 22:37:24
Quote Anchor link
(Als iemand kan aanvullen, zeker doen)

Het leuke aan dat data- attribute is dat jQuery daar de verantwoordelijkheid voor neemt; dus ik veronderstel dat dat wel goed ondersteund wordt.

jQuery regelt callbacks op basis van evenementen. Daarbij geeft het altijd parameters.
.ready geeft je het jQuery object als parameter.
Het mooie daaraan is, wanneer je die parameter invult als $ krijg je sowieso het juiste object. Als je dat niet doet, is het mogelijk om de variabele $ te overschrijven. Dat kan gebeuren als je een ander framework gebruikt.
(edit: nu ik er aan denk, kan je beter jQuery.ready(function($)...) doen; wat dit argument betreft)

Verder is het zo dat alles wat je definiëert binnen .ready mooi afgesloten is in zijn scope.

De gewone callbacks, zoals bij .click leveren parameter e (nu ja, je noemt ze zoals je wil). Die bevat vanalles van informatie over het evenement. De muiscoördinaten, het aangesproken element, ... je moet maar eens kijken op developper tools of firebug.
ALtijd interessant om die bij de hand te hebben.
Gewijzigd op 25/10/2012 22:43:51 door Kris Peeters
 
N K

N K

26/10/2012 10:48:43
Quote Anchor link
Thanks!
 
N K

N K

27/10/2012 19:02:10
Quote Anchor link
Kris nog even een vraag:
Ik wil van alle gemarkeerde divs de id's bewaren in een PHP session array.

Ik heb het nu als onderstaande:

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
26
27
28
29
30
31
32
33
34
35
36
37
38
</php
<script>

    $(document).ready(function($) {
        displayCounter();
      $('.markevent').click(function(e) {
        var id = $(this).data('id');
        $.ajax({
          url: 'markevent.php',                        
          data: {id: id},
          dataType: 'json',
          success: function(data) {
            data = eval(data);
            var id = data[0];
            var div = $('div[data-id="' + id +'"]');
            div.addClass('marked');
            div.removeClass('unmarked');
            $.post("index.php", {"markedpost": id}); // Nieuwe regel om de id waarden in een session array op te slaan
            displayCounter();
          },
        });
      });
      $('.unmarkevent').click(function(e) {
        var id = $(this).data('id');
        var div = $('div[data-id="' + id +'"]');
        div.addClass('unmarked');
        div.removeClass('marked');
        displayCounter();
      });
      function displayCounter(){
        $('#count').html(
           $('.marked').length
           + ' event(s) gemarkeerd'
        );
      }
    });
  </script>
?>



en dan in index.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$_SESSION
['markedsession'] = $_POST['markedpost'];
?>


Is dit te simpel gedacht? Bovenstaande werkt niet.
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

27/10/2012 19:30:40
Quote Anchor link
data: {id: id}
verander dit eerst eens in
data: {'id': id}

Je hebt te moelijk gedacht, volgens mij kan je dat net zo handig in markevent.php doen, bespaar je jezelf weer een extra ajax call.

PS.
waarom gebruik je een eval, je kunt JS objecten gewoon 'aanspreken' via bv data.id
 
N K

N K

27/10/2012 20:38:58
Quote Anchor link
Aha..
Ik heb nu in markevent.php onderstaande staan:
$_SESSION['id'] = $_GET['id'];

wat wel werkt maar ik krijg bij print_r($_SESSION)in index.php maar 1 waarde terug als ik meerdere divs markeer en refresh.
Je maakt toch als bovenstaand een array aan of niet?
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

27/10/2012 20:49:11
Quote Anchor link
Nee $_SESSION is een array, als je daarbinnen een array wilt doe je dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
$_SESSION
['id'] = array();
//dit doe je dus bv in index.php
// daarna kan je in markevent.php dit doen:

$_SESSION['id'][] = $_GET['id'];
?>
 
N K

N K

27/10/2012 20:56:16
Quote Anchor link
Edit:

Even overnieuw:
Ik probeer even te begrijpen hoe het allemaal werkt aangezien het nog niet lukt via de manier van Ger.
Het jquery gedeeelte stuurt een GET['id'] naar de server.
In markevent.php haal ik deze op en stop deze in een session array. d.m.v.
$_SESSION['id'][] = $_GET['id'];

In index.php zet ik na de session start(): $_SESSION['id'] = array(); om te laten weten dat id een array wordt.

Op bovenstaande manier krijg ik een lege array na het selecteren van 1 of meerdere id's (en een refresh van de pagina)namelijk: array([id]=> Array())


Toevoeging op 28/10/2012 15:05:24:

ah het lukt nu toch.
Alleen $_SESSION['id'][] = $_GET['id']; in markevent.php werkt goed.
Gewijzigd op 28/10/2012 14:53:08 door N K
 



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.