7
votes

Boîte de dialogue JQuery UI - Impossible de supprimer les boutons

Comment supprimer les boutons d'une boîte de dialogue JQuery? Par exemple, j'ai essayé de réappeler .dialog avec les nouvelles options correctes, mais la boîte de dialogue semble non affectée.

$ (sélecteur '). Dialogue ("option", "boutons", {}); Ne fonctionne pas et ne fonctionne pas non plus si les nouvelles chaînes et fonctions de boutons sont déclarées.

pensées?


5 commentaires

Pouvez-vous poster plus de code d'exemple?


JqueryUI.com/demos/dialog/#OPtion-ButTons


Comme il s'avère, cela fonctionne, mais il échoue silencieusement si votre syntaxe est la boîte de dialogue ({'option', ...});


Soins Pour ajouter une réponse qui note la syntaxe correcte qui ne le causera pas d'échouer silencieusement alors? J'ai ce problème maintenant et la bonne réponse serait appréciée.


Il n'y a pas de syntaxe correcte. Vous ne pouvez pas définir les boutons comme la boîte de dialogue chargée; Au contraire, vous devez définir une fonction de rappel à laquelle une fois la boîte de dialogue effectuée le chargement. i.e. var callback = showdialog (); rappeler();


6 Réponses :


0
votes

Vous devez détruire l'actuel première. Ensuite, vous pouvez en faire une nouvelle avec les nouvelles options que vous souhaitez.

Modifier (pour répondre au commentaire): Je ne sais pas quoi vous dire. J'ai fait ce qui suit sur mon site et wfm. xxx

Vous devez revenir à l'état pré-init pour modifier les boutons, ce qui est ce que détruire Est-ce que. Peut-être que je n'étais tout simplement pas assez clair sur les étapes.


2 commentaires

Détruire les peaux. Bien sûr, je peux détruire la boîte de dialogue et la construire à nouveau, mais la documentation de JQuery UI semble penser que vous pouvez construire des boutons post-création.


édition pour répondre à votre commentaire. Vous devez revenir à l'état pré-init avant de pouvoir modifier les boutons.



13
votes

Vous passez de nouveaux boutons définis d'une mauvaise manière. Les options doivent être transmises en tant qu'objet.

Ceci fonctionnera: xxx

Pas besoin de détruire et de créer une nouvelle boîte de dialogue.

Bien sûr que vous pouvez Également remplacer les boutons d'objet avec un nouvel ensemble de boutons si vous le souhaitez: xxx


0 commentaires

0
votes

La discussion ici est meilleure: http://www.nlambo.com/jquery-dialog-add-remove-button-on-the-fly-td22036498s27240.html

Ajouter dans les extensions prescrites et vous pouvez simplement utiliser Addbutton et removebutton (doit basculer sur un boîtier de chameau naturellement :)


0 commentaires

2
votes

Les boutons ne peuvent pas être ajoutés / définis pendant le chargement de la boîte de dialogue.


0 commentaires

0
votes

Autrem, peut-être le moyen le plus simple et très flexible de le faire est via CSS. (Et si vous aurez finalement besoin d'eux dans le futur ...).

ressemble à: xxx

Si vous aimez le faire uniquement pour certains dialogues, vous Peut ajouter dialogclass: lors de l'initialisation de la boîte de dialogue et votre CSS ressemblera (par exemple, vous avez ajouté MyDialogClass comme DialogClass, l'ensemble du conteneur de la boîte de dialogue sera donc accessible via cette classe: < Pré> xxx

bonne chance dans la personnalisation!


0 commentaires

4
votes

FWIW,

$(".dialog").dialog("option", "buttons", null);


0 commentaires