Necesito abrir el Chosen dropdown a través de JavaScript para que los usuarios no tengan que hacer clic en la selección para mostrarlo, ¿cómo se puede hacer esto?Cómo abrir Elegido a través de JavaScript?
Respuesta
Esto resuelve el problema,
sólo asegúrese chzn de selección es el ID de su selecto .
chzn soltar permanecerá abierta después de usuarios hacen clic en una opción:
$('#chzn-select').change(function(event)
{
$('.chzn-drop').css('left', 0);
});
Puede abrir un elegido caja de selección a través de JS haciendo:
$('#<id-of-your-select>_chzn').trigger('mousedown');
donde <id-of-your-select>
es el ID de su elemento <select>
.
Por ejemplo: si su elemento <select>
es como <select id="foo" ...>
, a continuación, el código anterior se convertirá en:
$('#foo_chzn').trigger('mousedown');
Hola, gracias, esto no funciona para mí para:
Muchas gracias, he estado tratando de resolver esto para siempre. – anataliocs
¡Eres increíble! –
@ respuesta de Tzvi es valioso en el en caso de que usted está tratando de desencadenar la elegida para que se mantenga abierta después de una selección está hecho (IE: hacer selecciones múltiples de una vez). Permítame esto un poco (actualizado para elegido 1.0, por cierto):
$('#selectbox').change(function() {
$('#selectbox_chosen .chosen-drop').css('left', '0');
});
$('html').click(function() {
$('#selectbox_chosen .chosen-drop').css('left', '');
});
$('#selectbox_chosen .chosen-drop').click(function(e) {
e.stopPropagation();
});
Esencialmente Obliga al desplegable elegido permanecer abierta reemplazando algunos css que suele ser en su lugar por la clase "activa". Luego tenemos un par de eventos de clic que deshacen esto si haces clic fuera del menú desplegable. Funcionó perfectamente para mí
Editar: Por cierto, si realmente desea activar el menú desplegable a través de JS, el uso del Escogido 1.0 API:
$('#selectbox').trigger('chosen:open')
En el contexto de la pregunta original, esto le permitirá abrir la caja o reabra la caja después de hacer una selección. Sin embargo, no mantendrá la caja abierta después de realizar una selección (sin cerrar por un momento).
puede agregar las siguientes dos líneas a su código que mantendrá su elegido siempre abierto. Funcionó para mí
list_start
es su ID de elemento de selección.
("#list_start").trigger('chosen:open');
$('.chosen-drop').css('left', 0);
En la actualización Chosen jquery plugin siguientes funciona bien con stopPropagation.
$("#selectbox").trigger("chosen:open"); \t \t \t
event.stopPropagation();
$(document).ready(function() {
$("#selectbox").chosen({});
$("button").click(function() {
$("#selectbox").trigger("chosen:open");
event.stopPropagation();
});
});
#selectbox {
width: 140px
}
<link href="http://harvesthq.github.io/chosen/chosen.css" rel="stylesheet" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="http://harvesthq.github.io/chosen/chosen.jquery.js"></script>
<select id="selectbox">
<option val="option1">Option 1</option>
<option val="option2">Option 2</option>
<option val="option3">Option 3</option>
<option val="option4">Option 4</option>
<option val="option5">Option 5</option>
<option val="option6">Option 6</option>
</select>
<button>Trigger Chosen</button>
Es muy raro, pero me parece la respuesta está utilizando el tiempo de espera
de alguna manera Neet de tiempo de espera de primera tal vez porque mi elemento se clona esperanza útil fo r otros
setTimeout(function(){ firstElement.trigger("chosen:open"); }, 100);
El setTimeout es lo que funcionó para mí. – HischT
- 1. ¿Cómo abrir un archivo en Emacs a través de eshell?
- 2. Abrir EditTextPreference a través del código (programáticamente)
- 3. volver a abrir a través del elemento de notificación
- 4. ¿Hay alguna manera de agregar elementos dinámicamente ajax a través del complemento jquery elegido?
- 5. Cómo llamar a funciones/métodos C++ a través de JavaScript
- 6. ¿Cómo abrir un archivo usando JavaScript?
- 7. font-face cambiando a través de JavaScript
- 8. abrir página automáticamente usando javascript
- 9. Compresión de Javascript a través de .htaccess?
- 10. Prototipo de Javascript a través de Object.create()
- 11. Activar el botón del flash a través de javascript
- 12. ¿Cómo cambiar un estilo de pseudoclase a través de JavaScript?
- 13. ¿Cómo obtener el nombre de dominio a través de JavaScript?
- 14. Ember.js Elegido integración
- 15. Loop A través de objetos en Javascript
- 16. Javascript iteración a través de matriz dispersa
- 17. ¿Cómo abrir la ventana maximizada con Javascript?
- 18. Accediendo a los datos de SVG a través de JavaScript
- 19. Fecha de Javascript a C# a través de Ajax
- 20. ¿Cómo sobrescribir css en línea a través de javascript?
- 21. cómo analizar datos multidimensionales JSON a través de Javascript
- 22. ¿Cómo verificar la visibilidad del elemento a través de javascript?
- 23. ¿Cómo obtener access_token a través de Javascript SDK en SoundCloud?
- 24. ¿Cómo buscar a través de una matriz en Javascript?
- 25. Pasar datos de Python a JavaScript a través de Django
- 26. Agregar valores de C# a DIV a través de JavaScript
- 27. MVC equivalente a @ Html.ActionLink a través de javascript
- 28. Accediendo a una función de ActionScript a través de Javascript
- 29. leer el archivo txt a través del cliente javascript
- 30. jQuery elegido la opción desactivada
Esto es incorrecto ya que no agrega las clases' activas 'configuradas en el marcado de Chosen. Techfoobar te dio una buena pista: sin embargo, el evento "clic" sería más adecuado para usar en esta situación. – biphobe
gracias, pero el clic no funciona. intentalo. – Tzvi
Funciona, acabo de comprobarlo. Recuerde que debe desencadenar un evento de clic en un ancla que reside en el contenedor principal (.chzn-container> .chzn-single). – biphobe