2016-07-28 16 views
0

Ich habe ein Kalender und läuft, ich habe eine mehr .. Taste an jedem Tag, wenn mehr Ereignisse als 3 sind. Sobald diese Schaltfläche angeklickt ist, erscheint ein Dropdown und zeigt die anderen Ereignisse an diesem Tag.jQuery Mehrere auf Klick Ereignisse

Es erhält die richtigen Daten für jedes Dropdown, aber wenn ich auf den Knopf klicke, der den on Klick auslöst, öffnen sie sich alle.

JQuery:

<script> 
function deselect(e) { 
$('.pop').slideFadeToggle(function() { 
    e.removeClass('selected'); 
}); 
} 

$(function() { 
    $('[id^=contact]').on('click', function() { 
    if($(this).hasClass('selected')) { 
    deselect($(this)); 
     } else { 
    $(this).addClass('selected'); 
    $('.pop').slideFadeToggle(); 
    } 
    return false; 
    }); 

    $('.close').on('click', function() { 
    deselect($('#contact')); 
    return false; 
    }); 
}); 

$.fn.slideFadeToggle = function(easing, callback) { 
    return this.animate({ opacity: 'toggle', height: 'toggle' }, 'fast', easing,  callback); 


}; 
</script> 

Html + Django

{% if forloop.counter|divisibleby:2 %} 
    <a href="/contact" id="contact{{  forloop.counter }}" class="popup"><small>More...<small></a> 
    <div class="messagepop pop"> 
{% endif %} 

<p class="alert" style="background- color: #{{ occurrence.event.category.color }}"> 
    <a title="{{ occurrence }}" href="{% url "calendar_occurrence_detail" pk=occurrence.event.pk year=occurrence.start.year month=occurrence.start.month day=occurrence.start.day %}">{{ occurrence|truncatechars:22 }}</a> 
</p> 
{%if forloop.last%} 
    </div> 
{% endif %} 

Ich bin nicht der beste auf JQuery so könnte dies für die anderen einfach sein, aber ich kann es scheinen

herauszufinden

Danke im Voraus! JF

Bearbeiten - Der Hover div + Daten werden in ein erstellt für Schleife

Antwort

1

Sie konnten die .next() Selektor Methode im Click-Handler auf dem aktuellen geklickt Taste
($(this)) verwenden.

Ändern Sie einfach

$('.pop').slideFadeToggle(); 

zu

$(this).next().slideFadeToggle(); 
+0

I'v dies bereits versucht, versucht, Ihnen als gut, aber es funktioniert nicht, nachdem sie ein paar Mal klicken Sie Ballen sein könnte Öffnen Sie es, aber wenn Sie es tun, könnte es eine beliebige Anzahl von Pop-up-Boxen sein, danke aber –

+0

Könnten Sie Ihre Frage bearbeiten und einen Teil des gerenderten HTML anstelle der Django-Vorlage veröffentlichen. Möchte man das in einer Geige testen, sollte das nicht schwer zu durchschauen sein. – DavidDomain

+0

https://jsfiddle.net/0naysjd3/ Hier, ich kann es nicht richtig funktionieren. Ich versuche weiter, aber es ist alles da .. also nach den ersten 3 Ereignissen am 28./29. sehen Sie andere Ereignisse nach dem mehr Link sollten diese in der Dropdown-Liste sein, weiß nicht, warum es jetzt nicht funktioniert –

Verwandte Themen