Blame view
static/admin/js/prepopulate.js
1.38 KB
831eac332 add file |
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 |
(function($) { $.fn.prepopulate = function(dependencies, maxLength) { /* Depends on urlify.js Populates a selected field with the values of the dependent fields, URLifies and shortens the string. dependencies - array of dependent fields ids maxLength - maximum length of the URLify'd string */ return this.each(function() { var prepopulatedField = $(this); var populate = function () { // Bail if the field's value has been changed by the user if (prepopulatedField.data('_changed')) { return; } var values = []; $.each(dependencies, function(i, field) { field = $(field); if (field.val().length > 0) { values.push(field.val()); } }); prepopulatedField.val(URLify(values.join(' '), maxLength)); }; prepopulatedField.data('_changed', false); prepopulatedField.change(function() { prepopulatedField.data('_changed', true); }); if (!prepopulatedField.val()) { $(dependencies.join(',')).keyup(populate).change(populate).focus(populate); } }); }; })(django.jQuery); |