4 Stimmen

Django-selectable: kein Dropdown

Ich versuche django-selectable zu verwenden http://django-selectable.readthedocs.org/en/version-0.6.2/quick-start.html

Ich habe alles eingerichtet, soweit ich das beurteilen kann, korrekt (siehe unten). In FireBug wird die Anfrage gestellt und gültiges JSON wird zurückgegeben. Alles funktioniert, aber es werden keine Ergebnisse angezeigt. Ich habe den CSS eingebunden.

Irgendwelche Gründe, warum ich den Dropdown nicht sehe?

FF hat diesen Fehler:

TypeError: this.menu is undefined
[Break On This Error]   

if ( this.menu.element.is( ":visible" ) ) {

models.py

class Event(models.Model):
    event_id = models.IntegerField(primary_key=True)
    name = models.CharField(max_length=80,blank=False)
    date = models.DateField()
    start = models.TimeField()
    end = models.TimeField()

    category = models.ForeignKey(Category)
    city = models.ForeignKey(City)
    user = models.ForeignKey(User)

    def __unicode__(self):
        return self.name

lookup.py

from selectable.base import ModelLookup
from selectable.registry import registry

from events.models import Event

class EventLookup(ModelLookup):
    model = Event
    search_field = 'city__icontains'
    filters = {'active': True, }

    def get_item_value(self, item):
        # Display for currently selected item
        return item.name

    def get_item_label(self, item):

        return u"%s (%s)" % (item.name)

registry.register(EventLookup)

forms.py

from django import forms
from django.forms import ModelForm
from events.models import Event
import selectable.forms as selectable
from events.lookups import EventLookup

class EventForm(ModelForm):
    autocomplete = forms.CharField(
        label='Type the name of a fruit (AutoCompleteWidget)',
        widget=selectable.AutoCompleteWidget(EventLookup),
        required=False,
    )

    class Meta:
        model = Event

urls.py

(r'^selectable/', include('selectable.urls')),

template.html

  **Das folgende wird korrekt geladen...**
    jquery-1.9.0.js
    jquery-ui-1.10.0.custom.min.css
    jquery.ui.core.js
    jquery.ui.widget.js
    jquery.ui.datepicker.js
    jquery.ui.autocomplete.js

     {{ form.media.css }} 
     {{ form.media.js }} 
     {{ form }}

4voto

Glyn Jackson Punkte 8128

Das sieht richtig aus, ich denke entweder:

1) du fügst die js-Dateien nicht in der richtigen Reihenfolge ein

oder

2) du lädst sie nicht richtig.

Füge das folgende in den head-Bereich ein und entferne deine Links, um zu sehen, ob es funktioniert...

{{ form.media.js }}

{{ form.media.css }}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X