Как получить значение из выпадающего списка django? без кнопки отправки - PullRequest
0 голосов
/ 12 июля 2020

Как получить значение из выпадающего списка в Django Без кнопки отправки

<div class="single-shorter">
    <form action="." method="GET">
        <label>Sort By :</label>
        <select name="val" id="val">                            
            <option selected="selected" value="name">Name</option>                                                  
            <option value="price">Price</option>
        </select>
    </form>
</div>

1 Ответ

1 голос
/ 12 июля 2020

Вы можете просто получить его, используя Ajax, но, как упоминалось в комментариях в разделе, не хочу использовать этот атрибут, вы можете использовать атрибут value в значении параметра и используя список событий и window.loction.href, мы можем получить это ... Это один пример

<select id="foo">
    <option value="">Your Dropdown</option>
    <option value="http://www.google.com">x</option>
    <option value="http://www.facebook.com">y</option>
</select>

<script>
    document.getElementById("foo").onchange = function() {
        if (this.selectedIndex!==0) {
            window.location.href = this.value;
        }        
    };
</script>

, поскольку вы используете django, используйте это, а также не хотите изменять атрибут значения

<select id="my_selection">
<option value="x" href="/link/to/somewhere">value 1</option>
<option value="y" href="/link/to/somewhere/else">value 2</option>
</select>

<script>
document.getElementById('my_selection').onchange = function() {
    window.location.href = this.children[this.selectedIndex].getAttribute('href');
}
</script>

...