Estoy tratando de usar un acordeón y tengo una casilla de verificación dentro de un encabezado. Sin embargo, cuando hago clic en una casilla de verificación en un encabezado de acordeón, se contrae o expande el acordeón. ¿Hay alguna manera de hacer clic en la casilla sin expandir/colapsar el acordeón?Tener un elemento seleccionable en un encabezado de acordeón Bootstrap
Respuesta
usted tiene que colocar el casilla fuera del acordeón de palanca pero dentro de la acordeón en dirección clase, es decir,
<div class="accordion-heading">
<input type="checkbox" name="box"/>
<a class="accordion-toggle" data-toggle="collapse" data-parent="#accordionParent" href="#collapseone">
<p>Heading1</p>
</a>
</div>
y añadir el css .accordion-heading a.accordion-toggle { display: inline-block; }
El clic Burbujas hasta el encabezado del acordeón, por lo que otra posibilidad (además de mover la casilla de verificación fuera de la palanca, como lo sugirieron otros) es detener el burbujeo.
utilizar un poco de jQuery como:
$("input[type=checkbox]").on("click", function(event) {
event.stopPropagation();
});
o con un selector de casilla más corto:
$(":checkbox").on("click", function(event) {
event.stopPropagation();
});
¿Hay una forma angular de hacer lo mismo? – ram
Estoy un poco tarde, pero hay una manera: '' ng-click = "$ event.stopPropagation()" ' –
Para un elemento de acordeón ui-boostrap, debe hacer dos cosas. 1) debe sobrescribir la plantilla de grupo de acordeón para usar elementos de div en lugar de elementos de anclaje y agregar cursor: puntero en su CSS. Esto se debe a que los navegadores interpretan los elementos de anclaje como el objetivo de cualquier evento de clic, lo que activa el enrutamiento cuando ciertos elementos, como los botones, están anidados dentro del elemento de anclaje.
<script type="text/ng-template" id="group-template.html">
<div role="tab" id="{{::headingId}}" aria-selected="{{isOpen}}" class="panel-heading" ng-keypress="toggleOpen($event)">
<div class="panel-title">
<div style="cursor:pointer;" data-toggle="collapse" href aria-expanded="{{isOpen}}" aria-controls="{{::panelId}}" tabindex="0" class="accordion-toggle" ng-click="toggleOpen()" uib-accordion-transclude="heading" ng-disabled="isDisabled" uib-tabindex-toggle><span uib-accordion-header ng-class="{'text-muted': isDisabled}">{{heading}}</span></div>
</div>
</div>
<div id="{{::panelId}}" aria-labelledby="{{::headingId}}" aria-hidden="{{!isOpen}}" role="tabpanel" class="panel-collapse collapse" uib-collapse="!isOpen">
<div class="panel-body" ng-transclude></div>
</div>
</script>
entonces usted tiene que utilizar la plantilla para el elemento grupo de acordeón.
<div uib-accordion-group template-url="group-template.html"
is-open="isOpen" ng-init="isOpen = true"
ng-repeat="q in qs">
2) La segunda cosa que hay que hacer es s stop propagation click event on inner element of header if you don
t quieren que se derrumbe su acordeón. Usaly es elementos de entrada o botones.
<uib-accordion-heading ng-click="isOpen = !isOpen">
<lable>Title</lable>
<input required ng-click="$event.stopPropagation()"/>
<button ng-click="doSomething;$event.stopPropagation();">
</uib-accordion-heading>
- 1. práctica de tener un encabezado "común"
- 2. Bootstrap Colapsar el acordeón sobre el vuelo estacionario
- 3. ¿Puedo hacer que un elemento ListView no sea seleccionable?
- 4. Colapso de Bootstrap con solo un elemento mostrado
- 5. Cómo quitar el elemento de acordeón de jQuery
- 6. Fullcalendar - límite seleccionable en un solo día
- 7. Extienda el encabezado de bootstrap-type para tomar un objeto en lugar de una cadena
- 8. Android ImageButton ¿cómo tener un área seleccionable que es más grande que la imagen en sí?
- 9. ¿Cómo tener múltiples transiciones de CSS en un elemento?
- 10. jQuery acordeón cómo abrir particular, encabezado mediante la escritura
- 11. campo obligatorio dentro de un acordeón jquery
- 12. Incluir un encabezado en otro archivo de encabezado
- 13. Hacer el diseño lineal seleccionable como un elemento de lista en una vista de lista (Android)
- 14. Convierta el acordeón de desplazamiento en onclick
- 15. Cómo deshabilitar un elemento en un Spinner
- 16. ¿Hay un equivalente a la clase Bootstrap en un complemento
- 17. ¿Puede tener varias líneas en un elemento <option>?
- 18. Vinculación a una sección de un acordeón desde otra página
- 19. El elemento de acordeón de Silverlight redibujado no funciona
- 20. ¿Cómo puedo hacer un menú de acordeón con CSS3?
- 21. ¿Cómo centrar Bootstrap Tooltip en un SVG?
- 22. GWT ListBox - ¿cómo tener un elemento de la lista deshabilitado?
- 23. Bootstrap: Accordion Collapse dejó de funcionar con Bootstrap 2.0.3
- 24. jQuery acordeón abierto derrumbó
- 25. Contraer todas las pestañas en un acordeón en jquery?
- 26. ¿Puedo tener más de una línea en un encabezado de tabla en Qt?
- 27. dinámicamente cambiar el tamaño de un acordeón abierto
- 28. CSS: ¿Existe un límite en la cantidad de clases que puede tener un elemento HTML?
- 29. ¿Puede un elemento tener una identificación y una clase?
- 30. Evitar que un acordeón en JavaFX se colapse
Pruebe agregar este css: .accordion-heading a.accordion-toggle {display: inline-block; } – scumah
¡Ah, gracias! Moví mi casilla de verificación y ahora es lo que quería. –
¿Podría publicar algún código? No puedo hacer que funcione. – foobar