$(document).ready(function() { // Function to load contacts for a given client function loadContacts(clientId) { if (!clientId) return; var $contactSelect = $('#contact_select'); $contactSelect.html(''); $.ajax({ url: 'ajax.php', type: 'GET', dataType: 'json', data: { get_client_contacts: 1, client_id: clientId }, success: function(response) { $contactSelect.empty(); if (response.contacts && response.contacts.length > 0) { $contactSelect.append(''); $.each(response.contacts, function(i, contact) { $contactSelect.append( $(''); } // Refresh Select2 if ($.fn.select2) { $contactSelect.trigger('change.select2'); } }, error: function(xhr, status, error) { console.error('AJAX Error:', error); $contactSelect.html(''); } }); } // Load contacts for the currently selected client when modal opens var initialClientId = $('#client_select').val(); loadContacts(initialClientId); // Load contacts when client changes $('#client_select').on('change', function() { var clientId = $(this).val(); loadContacts(clientId); }); });