Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

266
Vistas
On click run query function script Django

In my Django project, on my HTML page, I have a script which runs Query depending on the other values ($("#id_report").val() values). Function runs 'on click'. Problem is, when I click on '#id_person' dropdown menu to select an option which I get from query, I run query again and my selection gets reset.

Problem is:

  1. I click on dropdown menu
  2. Query runs
  3. I select one of the options from Query return data
  4. When I select, I need to click a selection, Query runs again and my selection is lost I need the script to run only once and dropdown menu is twice a click. First to selet dropdown, second to select an option.

post_form.html

{% extends "blog/base.html" %}
{% load crispy_forms_tags %}
{% block content %}
    <div class="content-section">

        <form method="POST" id="PostForm" data-sektor-url="{% url 'ajax_load_sektors' %}" data-department-url="{% url 'ajax_load_departments' %}"  data-person-url="{% url 'ajax_load_persons' %}" novalidate enctype="multipart/form-data">
            {% csrf_token %}
            <fieldset class="form-group">
                <legend class="border-bottom mb-4">Submit report</legend>
                {{ form|crispy }}
            </fieldset>
            <div class="form-group">
                <button class="btn btn-outline-info" type="submit">Report</button>
            </div>
        </form>
    </div>
    <script>
        $("#id_person").click(function () {
            var value = $("#id_report").val();
            var url = $("#PostForm").attr("data-person-url");
            $.ajax({                      
                url: url,    
                data: {
                'value': value,
                },
                success: function (data) { 
                    $("#id_person").html(data);  
                    console.log(data);
                }
            });
        });
    </script>
{% endblock content %}

How can I run this only when I click on dropdown, not when I select (then it runs again because it's a click).

forms.py

from django import forms
from .models import Post, File

class PostForm(forms.ModelForm):
    class Meta:
        model = Post
        fields = ['title', 'subject', 'person', 'report']
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

try this .change

<script>
    $("#id_person").change(function () {
        var value = $("#id_report").val();
        var url = $("#PostForm").attr("data-person-url");
        $.ajax({                      
            url: url,    
            data: {
            'value': value,
            },
            success: function (data) { 
                $("#id_person").html(data);  
                console.log(data);
            }
        });
    });
</script>
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda