2 Stimmen

Implementierung einer einfachen Jquery-Funktion auf der Django-Admin-Seite

Grüße Ich habe meinen Admin-Add-Screen (tabularinline) erweitert, indem ich die http://www.djangosnippets.org/snippets/1594/

Jetzt habe ich ein Feld in meinem Modell:

start = models.CharField(max_length=5)

dies ist als ein spezielles Zeitformat gedacht, es wird in einem HH:MM Format wie 16:30 sein. Jetzt möchte ich einen Weg, dass die Website automatisch zuweist ":" zwischen diesen Zahlen zu implementieren und für das habe ich diese Jquery-Anwendung gefunden: http://digitalbush.com/projects/masked-input-plugin/

Wenn ich mein Admin-Add-Panel mit Firebug überprüfe, sehe ich, dass das Feld, das ich diese Maskierungsfunktion implementieren möchte, ist:

<input id="id_outage_set-0-start" class="vTextField" type="text" maxlength="5" name="outage_set-0-start"/>

wobei "id_outage_set-0-start" jedes Mal erhöht wird, wenn ich etwas Neues hinzufüge.

Jetzt bin ich auf der Suche nach einem Weg, um diese 2 zusammen zu implementieren, ich bin ein Jquery-Neuling so wirklich an ihm verloren.

Mit freundlichen Grüßen

1voto

Steerpike Punkte 16009

Dies sollte das Masken-Plugin auf alle Eingänge anwenden, deren ID mit id_outage_set beginnt. Ist es das, was Sie suchen?

jQuery(function($){
    $("input[id*='id_outage_set']").mask("99/99/9999",{placeholder:" "});
});

0voto

leplatrem Punkte 925

Ein guter Ansatz wäre, ein eigenes Widget zu definieren, dessen HTML-Rendering die JQuery-Maske anwendet.

Stuart Langridge gibt einige Informationen darüber, wie man ein Feld-Widget in der Admin-Oberfläche ändern kann: http://www.kryogenix.org/days/2008/03/28/overriding-a-single-field-in-the-django-admin-using-newforms-admin

Das wäre eine gute Idee, dies in eine kleine Django-App zu verpacken.

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