dfg
This commit is contained in:
parent
ae5c830851
commit
b1e3ee089f
|
|
@ -47684,30 +47684,18 @@ function formAjoutTableRef() {
|
|||
|
||||
// Filtrer la liste des villes par pays
|
||||
function filtreVilleParPays() {
|
||||
const codePays = $('#codePays').val();
|
||||
const $selectVille = $('#codeVille');
|
||||
|
||||
if (!codePays) return;
|
||||
|
||||
$.ajax({
|
||||
url: $("#racineWeb").val() + "Ajaxfiltrevilleparpays/",
|
||||
type: 'post',
|
||||
data: { codePays: codePays },
|
||||
data: { codePays: $('#codePays').val() },
|
||||
success: function(htmlOptions) {
|
||||
// 1. ÉTAPE CRUCIALE : On détruit l'attribut title qui cause le doublon dans le bouton
|
||||
$selectVille.removeAttr('title').prop('title', '');
|
||||
|
||||
// 2. On vide physiquement les options
|
||||
$selectVille.empty();
|
||||
|
||||
// 3. On injecte les nouvelles options (venant du PHP)
|
||||
$selectVille.append(htmlOptions);
|
||||
// On vide et on remplace les options (on ne touche pas au select lui-même)
|
||||
$selectVille.empty().append(htmlOptions);
|
||||
|
||||
// 4. On force le SelectPicker à se réinitialiser SANS cumuler les textes
|
||||
$selectVille.selectpicker('refresh');
|
||||
|
||||
// 5. On force la valeur à vide pour que le placeholder s'affiche proprement une seule fois
|
||||
$selectVille.selectpicker('val', '');
|
||||
// On appelle notre fonction de sécurité
|
||||
actualiserSelectPicker('#codeVille');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
@ -91655,23 +91643,28 @@ function initDataTableReference(selector, exportTitle = 'Export_Donnees') {
|
|||
function actualiserSelectPicker(selector) {
|
||||
$(selector).each(function() {
|
||||
const $el = $(this);
|
||||
|
||||
// 1. On détruit proprement l'instance existante
|
||||
if ($el.data('selectpicker')) {
|
||||
$el.selectpicker('destroy');
|
||||
|
||||
// 1. ÉTAPE RADICALE : On supprime l'attribut title qui cause le doublon visuel
|
||||
$el.removeAttr('title').prop('title', '');
|
||||
|
||||
// 2. On vérifie si l'instance existe déjà
|
||||
if (!$el.data('selectpicker')) {
|
||||
// Initialisation propre
|
||||
$el.selectpicker({
|
||||
liveSearch: true,
|
||||
style: 'btn-white border-2 border-start-0 fw-bold',
|
||||
width: '100%',
|
||||
size: 8,
|
||||
noneSelectedText: $("#codeLangue").val() === 'en_US' ? '-- Select --' : '-- Sélectionner --'
|
||||
});
|
||||
} else {
|
||||
// Simple mise à jour des données (sans recréer le bouton)
|
||||
$el.selectpicker('refresh');
|
||||
}
|
||||
|
||||
// 3. On force la valeur à vide si rien n'est sélectionné pour nettoyer l'affichage
|
||||
if(!$el.val()) {
|
||||
$el.selectpicker('val', '');
|
||||
}
|
||||
|
||||
// 2. ÉTAPE RADICALE : On supprime les div résidus du plugin
|
||||
// C'est ce qui empêche le texte de doubler
|
||||
$el.siblings('.bootstrap-select').remove();
|
||||
|
||||
// 3. On ré-initialise avec tes paramètres
|
||||
$el.selectpicker({
|
||||
liveSearch: true,
|
||||
style: 'btn-white border-2 border-start-0 fw-bold',
|
||||
width: '100%',
|
||||
size: 8,
|
||||
noneSelectedText: $("#codeLangue").val() === 'en_US' ? '-- Select --' : '-- Sélectionner --'
|
||||
});
|
||||
});
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user