por favor, cómo puedo obtener correctamente el valor de la lista desplegable, he usado la biblioteca django-widget-tweaks.
este es el código de la lista desplegable de campos de la que quiero obtener la cadena de valor:
<p >{{ form.category_column.label_tag }}</p> <p id="category_column_id">{% render_field form.category_column autocomplete="off" hx-get="/sizescolumn/" hx-target="#id_sizes_column" %}</p>
He intentado obtener el valor usando javascript con esta línea de código:
var select = document.getElementById('category_column_id').value;
PD: quiero obtener la cadena de valor de este campo (lista desplegable) para compararla con otra cadena de valor.
---->pero no funciona. gracias de antemano.
Para obtener el valor de cadena del elemento seleccionado, use .innerHTML en lugar de .value
var select = document.getElementById("yourId").innerHTML;
Ha agregado el atributo id="category_column_id"
a la etiqueta <p>
.
Los atributos de identificación particulares solo deben usarse una vez en una página, ya que las identificaciones son únicas (a diferencia de las clases). Si su atributo de selección tiene la misma identificación, es decir, 'category_column_id', entonces la etiqueta <p>
probablemente se encontrará primero y será utilizada por su javascript. Una etiqueta <p>
no tiene un valor como lo hace una columna de selección, por lo que su javascript no devuelve nada.
Primero, vuelva a verificar en su página cuál es su ID de elemento seleccionado y luego use su javascript para evaluar el valor. No hay nada particularmente malo con su javascript en los navegadores modernos siempre que tenga la identificación correcta y solo haya una de esa identificación en particular.
Gracias por todos aquí arreglado así:
var select = $('#id_category_column').find(":selected").text();
Espero que ayude a alguien en el futuro.