Minimal input for autocomplete fields

This commit is contained in:
Claude Paroz 2021-08-25 14:35:14 +02:00
parent e674f5b074
commit 74b8635413
3 changed files with 32 additions and 16 deletions

View file

@ -188,14 +188,16 @@ $(document).ready(function() {
var sel = $('#contact_select');
sel.html('<option value="">-------</option>');
var id_corp = $(this).find("option:selected").data('idCorp');
$.getJSON('/corporation/' + id_corp + '/contacts/', function(data) {
$.each(data, function(key, contact) {
var item = contact.first_name + ' ' + contact.last_name;
if (contact.role.length) item += ' (' + contact.role + ')';
sel.append($("<option />").val(contact.id).text(item));
if (id_corp) {
$.getJSON('/corporation/' + id_corp + '/contacts/', function(data) {
$.each(data, function(key, contact) {
var item = contact.first_name + ' ' + contact.last_name;
if (contact.role.length) item += ' (' + contact.role + ')';
sel.append($("<option />").val(contact.id).text(item));
});
if (data.length == 1) sel.val(data[0].id);
});
if (data.length == 1) sel.val(data[0].id);
});
}
});
$('#valid_training').click(function() {

View file

@ -6,15 +6,17 @@ django.jQuery(document).ready(function() {
if (this.id == 'id_corporation') var sel = django.jQuery('#id_contact');
else var sel = django.jQuery(this).closest('fieldset').find('.field-contact select');
var id_corp = django.jQuery("option:selected", this).val();
django.jQuery.getJSON('/corporation/' + id_corp + '/contacts/', function(data) {
if (data.length && data[0].corporation_id == id_corp) return
sel.html('<option value="">-------</option>');
django.jQuery.each(data, function(key, contact) {
var item = contact.first_name + ' ' + contact.last_name;
if (contact.role.length) item += ' (' + contact.role + ')';
sel.append(django.jQuery("<option />").val(contact.id).text(item));
if (id_corp) {
django.jQuery.getJSON('/corporation/' + id_corp + '/contacts/', function(data) {
if (data.length && data[0].corporation_id == id_corp) return
sel.html('<option value="">-------</option>');
django.jQuery.each(data, function(key, contact) {
var item = contact.first_name + ' ' + contact.last_name;
if (contact.role.length) item += ' (' + contact.role + ')';
sel.append(django.jQuery("<option />").val(contact.id).text(item));
});
if (data.length == 1) sel.val(data[0].id);
});
if (data.length == 1) sel.val(data[0].id);
});
}
});
});