les boutons de dialogue jQuery UI des variables
j'ai des variables contenant les étiquettes traduites pour les boutons dans une boîte de dialogue jQuery ui.
Je ne peux pas remplir la touche tableau de boutons avec la variable elle-même, et ne peux trouver aucun moyen de la laisser traiter ma variable comme une chaîne.
translations['ok'] = 'ok';
translatinos['cancel'] = 'cancel';
// not working
jQuery('#foo').dialog({
buttons:
{
translations['ok']: function() { alert('foo-ok'); },
translations['cancel']: function() { alert('foo-cancel'); }
}
});
// working
jQuery('#bar').dialog({
buttons:
{
"Ok": function() { alert('bar-ok'); },
"Cancel": function() { alert('bar-cancel'); }
}
});
y a-t-il un moyen d'obtenir que cela fonctionne avec les touches de tableaux variables?
3 réponses
Vous pouvez l'essayer, peut-être cela aide:
var buttonsOpts = {}
buttonsOpts[translations["ok"]] = function ....
buttonsOpts[translations["cancel"]] = function ....
jQuery('#bar').dialog({
buttons : buttonsOpts
});
j'Espère que ça aide!
jQuery('#bar').dialog({
buttons : [
{
text: translations.ok,
click: function(){}
},
{
text: translations.cancel,
click: function(){}
},
]
});
je sais que c'est vieux de 4 ans, mais c'est le meilleur résultat pour un problème que j'ai eu. Ici était le résultat de mon travail.
il suffit D'appeler la fonction dans un événement de souris ou de clavier, de faire référence à une fonction (sans parenthèses), de définir les boutons ou de définir un blanc, de définir un titre, et de définir le texte à afficher.
function confirmDialogue(fn, value, ok, cancel, title, text){
if (typeof ok == "undefined" || ok == ""){ok = "Ok";}
if (typeof cancel == "undefined" || cancel == ""){cancel = "Cancel";}
var buttonsOpts = {};
buttonsOpts[ok] = function() {fn(value);$( this ).dialog( "destroy" );}
buttonsOpts[cancel] = function() {$( this ).dialog( "destroy" );}
var NewDialog = $('<div id="dialogConfirm"><p>' + text + '</p></div>');
NewDialog.dialog({
title: title,
dialogClass: "dialogue",
modal: true,
height: "auto",
width: "auto",
show: true,
hide: true,
close: function(){$(this).dialog('destroy');},
buttons: buttonsOpts
});
return false;
}