Ma boîte de dialogue modale fonctionne parfaitement (ce qui signifie que je peux ajuster chaque option), sauf que l'option des icônes de bouton n'a aucun effet. Voici le code que je utilise pour générer la boîte de dialogue:Boîte de dialogue modale de l'interface utilisateur jQuery: les icônes des boutons n'apparaissent pas
$('#alert_div')
.attr("title", "Delete all instances?")
.text("Are you sure you want to delete all instances of this event between the specificed dates? This cannot be undone.")
.dialog({
modal: true,
draggable: false,
position: { my: "top", at: "center", of: window },
buttons: [
{
text: "No",
icons: { primary: "ui-icon-check" },
click: function() {
$(this).dialog('close');
console.log('Clicked no.');
}
},
{
text: "Yes",
click: function() {
$(this).dialog('close');
console.log('Clicked yes');
}
}
]
});
J'ai regardé toutes les questions pertinentes Stack Overflow je pourrais trouver - par exemple this one. Mis à part l'attachement d'un élément au bouton ouvert, je ne sais pas comment résoudre ce problème. Lorsque je crée des éléments ailleurs dans le document et que je leur donne la classe appropriée, les icônes s'affichent correctement.
est ici le HTML jQuery génère pour le bouton lorsque la boîte de dialogue est ouvert:
<div class="ui-dialog-buttonset"><button type="button" icons="[object Object]" class="ui-button ui-corner-all ui-widget">OK</button></div>
Je suppose qu'il devrait y avoir autre chose que « [object Object] dans les icônes d'attributs. Pourquoi cela arrive-t-il? J'utilise jQuery UI v. 1.12.0 et jQuery v. 3.0.0., Et je n'utilise pas Bootstrap.
Mise à jour: voici quelqu'un d'autre rapport presque exactement le même problème sur les forums jQuery à partir d'un certain temps: https://forum.jquery.com/topic/adding-icons-to-dialog-buttons-and-setting-focus –
Avez-vous vérifié la présence d'erreurs sur la console du navigateur? Avez-vous un lien que nous pouvons voir ou pouvez-vous créer un fragment jsFiddle ou un extrait de pile? – j08691
Pas d'erreurs sur la console, mais je vais faire un jsFiddle, merci. Etre prêt. –