Quiero agregar el texto que un usuario ingresa en el campo de texto de una entrada de selección múltiple seleccionada como una opción, y seleccionarlo automáticamente, todo esto cuando la opción no lo hace existe, si la opción existe, entonces me gustaría seleccionarla. Hasta ahora he llegar a hacer esto:Opción añadir dinámicamente al plugin elegido JQuery de selección múltiple
Chosen.prototype.add_text_as_option = function() {
$('#id_select').append(
$('<option>')
.html(this.search_field.val())
.attr('selected', 'selected')
.attr('value', 0)
);
$('#id_select').trigger("liszt:updated");
return false;
};
que llamo esta función cada vez que los usuarios entran en prensas mientras que el campo de entrada está en el foco dentro de la función keydown_check
.
Tengo dos problemas:
- la máxima prioridad, cuando el usuario presiona entran y ha escrito una subcadena de una opción, la opción de no ser seleccionado, pero se añade el texto subcadena y seleccionados. No es lo que quiero
Por ejemplo: Si tengo la opción "foo", y comienza a escribir "fo", elegido será la primera opción como candidato ("foo"), por lo que si pulsa ENTER, cabe seleccionado , pero en cambio, lo que sucede es que se agrega "fo" como una opción y se selecciona, cuando realmente quería seleccionar "foo".
Si selecciono "foo" con un clic, todo funciona bien. La opción seleccionada se selecciona y el texto de la subcadena se toma como parte de la opción.
¿Cómo puedo agregar una opción inexistente a elegida, sin perder toda la funcionalidad original?
¿Cómo puedo acceder al selecto campo múltiple que inicié con el que elegí dentro del complemento elegido? Como puede ver en el código anterior, la identificación del campo múltiple de selección está codificada. Quiero hacer esto para poder actualizar la selección cuando el usuario agrega una nueva opción.
La funcionalidad que estoy buscando es muy similar al widget habilidades de linkedin
Gracias de antemano!
Usted parece estar diciendo que cuando el usuario entra un valor que coincida con el comienzo de una opción existente, luego esa opción debe seleccionarse, pero ¿qué ocurre si coincide con más de uno? ¿opción? (Por ejemplo, "fo" podría coincidir con "comida" y "fútbol" - ¿seleccionar ambas?) – nnnnnn
Solo quiero que el usuario seleccione lo que quiere y, en caso de que lo desee, agregue una nueva opción. – danielrvt
¿Qué dice @nnnnnn, +1, pero también qué pasa si quieres agregar "fo"? Creo que el problema es más conceptual que cualquier otra cosa. Parece que necesita mecanismo (s) para (a) agregar exactamente lo que ha escrito independientemente de las opciones existentes, (b) agregar una opción de coincidencia única y (c) agregar una opción seleccionada de varias coincidencias. –