¿Cómo puedo colocar los botones de jQuery UI por separado? Los botones están alineados en la misma dirección. Me gustaría que un botón esté alineado a la izquierda mientras que el otro a la derecha. ¿Es posible?jQuery UI Posición del botón de diálogo
Respuesta
OK, mirando a través de este Firebug ...
El control de diálogo Crear un div con una clase llamada ui-dialog-buttonpane
, por lo que puede buscar eso.
Si se trata de varios botones, es probable que desee :first
y :last
atributos.
Por lo tanto, $(".ui-dialog-buttonpane button:first)
debería conseguir el primer botón. y $(".ui-dialog-buttonpane button:last)
debería obtener el último botón.
Desde allí puede modificar el estilo css/para poner cada botón a la derecha e izquierda (modifique los valores de flotación).
De todos modos, así es como lo abordaría ahora mismo.
también podría agregar una clase a su cuadro de diálogo (http://docs.jquery.com/UI/Dialog#option-dialogClass) para localizar su estilo.
Tengo el mismo problema, pero encontré la solución fácil que cambiamos el orden de los botones Aceptar o cerrar el diálogo del formulario cada vez que hacemos la definición jquery ui cuadro de diálogo.
tras la selección, probar:
.prependTo(".ui-dialog-buttonpane");
Esta es la manera en que yo era capaz de lograr los resultados.
$('#dialog-UserDetail').dialog({
autoOpen: false,
height: 318,
width: 531,
modal: true,
resize: false,
buttons: {
DelUser:{
class: 'leftButton',
text: 'Delete User',
click : function(){
alert('delete here');
}
},
"Update User": function() {
alert('update here');
},
Close: function() {
$(this).dialog("close");
}
}
});
Luego, en Estilos añadir la Bandera importante, que es necesaria porque la clase es lo primero y se sobrescribe con jQuery.
<style>
.leftButton
{
margin-right: 170px !important;
}
</style>
Si el ejemplo anterior no funciona con su versión de jQuery, hay un ejemplo similar (respondido por Raphael Schweikert) sobre una pregunta diferente de Stackoverflow: [Aplicar CSS a los botones de diálogo de jQuery] (http://stackoverflow.com/questions/1828010/apply-css-to-jquery-dialog-buttons) – shawad
he encontrado el .ui-diálogo-buttonset colapsa sin ancho de todos modos así a la posición dos bottons en la parte inferior izquierda y la esquina derecha añaden simplemente css así:
.ui-dialog-buttonset {width:100%}
.ui-dialog-buttonset .ui-button:last-child {float:right !important;}
La primera línea haga que el botón coloque el contenedor al 100% de ancho, el segundo presione el último botón que se encuentra a la derecha.
Te primero tiene que cambiar el ancho de .ui-diálogo-buttonset al 100% en jquery-ui.css
.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { width: 100%;}
Luego, en su declaración modal, para los botones, se podría hacer algo como explícita a continuación:
buttons: [
{
text: "Close",
open: function(){
$(this).css('float','left');},
}
}
]
$('#dialog-UserDetail').dialog({
autoOpen: false,
height: 318,
width: 531,
modal: true,
resize: false,
buttons: {
DelUser:{
text : 'Delete User',
click : function(){
alert('delete here');
}
},
space: {
text : '',
id : 'space',
width : '(the distance you want!)',
},
"Update User": function() {
alert('update here');
},
Close: function() {
$(this).dialog("close");
}
}
});
$("#space").visibility("hidden");
de esta manera, sin necesidad de CSS, solo haga que el botón del medio sea visible = "oculto", el ancho del botón debe ser el xxpx como quieras, cualquier cosa que no entiendas, dejas un mensaje, soy giles. Siéntete libre de hablar – user2653803
terminé con la siguiente solución (en base a la respuesta por el cocinero).Esto tiene una serie de ventajas (para mí) sobre las otras respuestas:
- puro HTML/CSS - sin javascript
- No hay necesidad de establecer un ancho fijo en el cuadro de diálogo (botón siempre alinearse con el borde izquierdo , incluso si el usuario cambia el tamaño de la ventana de diálogo)
- Sin necesidad de que el indicador importante de la CSS
el HTML utilicé (ligeramente modificado a partir de la respuesta por el cocinero):
$('#dialog-UserDetail').dialog({
autoOpen: false,
width: 'auto',
modal: true,
buttons: {
DelUser:{
class: 'leftButton',
text: 'Delete User',
click : function(){
alert('delete here');
}
},
"Update User": function() {
alert('update here');
},
Close: function() {
$(this).dialog("close");
}
}
});
Luego utiliza el siguiente CSS:
.leftButton
{
position: absolute;
left:8px;
}
Con el resultado de que el botón "leftButton" siempre se fija en 8 píxeles fuera del borde izquierdo del cuadro de diálogo, mientras que los otros botones están justificados a la derecha. Si tiene más de un botón que necesita justificado a la izquierda, entonces tendrá que aumentar el parámetro izquierdo por el ancho de los botones anteriores más cualquier espaciado que desee para cada botón, que es menos que elegante en mi opinión. Sin embargo, para un solo botón justificado a la izquierda esto funciona como un encanto.
.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
float: none !important;
text-align:right;
}
.ui-button-left {
float: left;
}
Esto no afecta a los botones predeterminados, que aparecerán a la derecha. Además, puede colocar tantos botones a la izquierda como desee sin un formato especial para cada botón. Para configurar la clase de los botones de la izquierda, hay muchas maneras de hacerlo.
Como parte de la definición de diálogo:
$("#mydialog").dialog(
{buttons: [
{"class": "ui-button-left", "text": "Delete"},
{"text": "Cancel"},
{"text": "Save"}
]});
O puede hacer algo como esto:
$("#mydialog").dialog(
{buttons: [
{"id": "myDeleteButton", "text": "Delete"},
{"text": "Cancel"},
{"text": "Save"}
]});
Y después, el estilo CSS para el objeto 'myDeleteButton' como flotante a la izquierda. Configurar el ID del botón puede ser útil si también desea mostrar u ocultar el botón sin volver a crear el cuadro de diálogo.
Probado en Chrome, Safari, FF, EI11, jQuery UI 1.10
Ok, como la respuesta de @The cocinera, puede cambiar esto css en tag.Think estilo por otro way.you puede agregar estilo dentro botón, ya no necesitas css. Buena suerte.
"Ok":{
style:"margin-right:640px",
click: function() {
//Your Code
}
},
- 1. Posición de diálogo jQuery UI
- 2. jQuery UI: Estilo de botón de diálogo
- 3. Actualizar la posición del cuadro de diálogo jquery ui
- 4. Establecer jQuery UI botón de diálogo id?
- 5. botón en jQuery diálogo
- 6. jQuery UI de diálogo Botones
- 7. jQuery UI botón de diálogo texto como una variable
- 8. Desactivar botón de cierre de jQuery UI de diálogo
- 9. JQuery UI Autocompletar Posición
- 10. jQuery UI Diálogo + Validar
- 11. jQuery UI Posición ordenable
- 12. jQuery UI de diálogo lenta
- 13. jQuery UI Tabs historial del botón
- 14. jQuery ui pantalla completa diálogo
- 15. jQuery UI diálogo modal no bloquea
- 16. ¿Cómo cambiar el tamaño del botón en el cuadro de diálogo de confirmación de Jquery Ui?
- 17. Diálogo jQuery UI - detener evento cerrado
- 18. asp.net mvc3 jquery ui diálogo y validación del cliente
- 19. jQuery UI Diálogo/Pregunta de arrastre
- 20. jQuery UI diálogo alrededor del iframe; ¿problemas de desempeño?
- 21. jQuery UI Diálogo Botones de las variables
- 22. de diálogo jQuery UI demasiado problema recursividad
- 23. Jquery diálogo: Ocultar el botón
- 24. Abrir el cuadro de diálogo de JQuery Ui en MousePosition
- 25. Cómo derivar un widget personalizado del diálogo jquery-ui
- 26. Diálogo JQuery UI - Ajax Actualización del éxito $ (this) .dialog ('close');
- 27. animando la posición de jQuery Ui()
- 28. jQueryUI cuadro de diálogo - no aparece el texto del botón
- 29. jQuery UI diálogo de posicionamiento: ajuste la posición superior por 20px -
- 30. jQuery diálogo modal botón de texto
¡Exactamente! Tan simple ... – turezky
Esto no funciona si tiene varios cuadros de diálogo. –
Luego expanda un poco los selectores. $ ("div.dialog <.ui-dialog-buttonpane button: last) y $ (" "div.dialog <.ui-dialog-buttonpane button: first) deberían funcionar. El div.dialog debería ser el propietario del diálogo en primer lugar. –