L'évolution dynamique de jQueryUI boutons du dialogue
De tenter de modifier plusieurs de jQuery UI dialog() boutons à la volée.
Le problème avec le code ci-dessous est qu'un seul bouton est affiché lors de la première instance de la boîte de dialogue(). Deux boutons doivent être affichées.
$(function(){
var dlg = $('#message');
dlg.dialog({
autoOpen:false,
modal:true,
width: 500,
close: function() {
if (seen==0 && ans > 0) {
cnt++;
seen++;
dlg.html('Here is a second message');
dlg.dialog(
'option',
'buttons',
[{
text: 'OK',
click: function() {
$(this).dialog('close');
}
}]
);
dlg.dialog('open');
}
}
});
$('#myDiv').hover(
function() {
//Hover-in
if (cnt < 1 || (cnt > 2 && cnt < 4) || (cnt > 5 && cnt < 7)) {
var msg = 'First display text goes here';
dlg.html(msg);
dlg.dialog(
'option',
'buttons',
[{
text: 'Download',
click: function() {
ans++;
$(this).dialog('close');
},
text: 'Not now',
click: function() {
$(this).dialog('close');
}
}]
);
dlg.dialog('open');
}
cnt++;
},
function() {
//Hover-out
//need this to prevent duplicating hover-in code (double-display dlg)
}
);
}); //END document.ready
OriginalL'auteur gibberish | 2013-06-09
Vous devez vous connecter pour publier un commentaire.
J'ai essayé d'utiliser le
Object
type pour leboutons
et ça fonctionne :Voir mise à jour jsFiddle
Objet: les clés sont Les étiquettes de bouton et les valeurs sont les rappels lorsque les associés bouton est cliqué.
EDIT : Mais vous avez eu une erreur dans votre tableau, vous devez disposer d'un tableau d'objet et il manquait des
{
et}
.Voir la correction de votre jsFiddle
Si vous préférez la
array
notation, vous devez disposer d'unarray of objects
, voir mon edit 🙂Merci beaucoup pour l'explication. Donc ce ce que les crochets ont été sur... de sens maintenant. J'apprécie l'exemple supplémentaire.
OriginalL'auteur Jérôme