django-autocomplete-light add parameter to query url

一曲冷凌霜 提交于 2021-01-27 06:37:45

问题


I'm trying to pass some data along to the autocomplete_light.AutocompleteModelBase so I can exclude some models from the search. I'm trying to use the Dependencies info in the docs here

but I can seem to get it.

The id of the input is id_alternate_version-autocomplete, so I'm trying:

$("#id_alternate_version-autocomplete").yourlabsWidget().autocomplete.data = {'id': 'foo'};

But the url called looks like http://127.0.0.1:8000/autocomplete/FooAutocomplete/?q=bar

I want: http://127.0.0.1:8000/autocomplete/FooAutocomplete/?q=bar&id=foo

How can I do something like that?


回答1:


This is how I did it:

$(document).ready(function() {
    $('form#recipe').on('change propertychange keyup input paste', function() {
        var ingredient_item_type    = $("form#recipe input[type='radio']:checked").val();
        var widget                  = $("form#recipe input#id_ingredients_text").parents('.autocomplete-light-widget');
        if(ingredient_item_type) {
widget.yourlabsWidget().autocomplete.data['hello'] = 'world';
        }
    });
});

Javascript acrobatics aside, the key observation is thus:

anything you put in the .data object of the autocomplete widget will automatically be made part of the GET request. HTH.




回答2:


DAL provides a way to do this with "forwarding" of another rendered form field's value.

See http://django-autocomplete-light.readthedocs.io/en/master/tutorial.html#filtering-results-based-on-the-value-of-other-fields-in-the-form



来源:https://stackoverflow.com/questions/25409293/django-autocomplete-light-add-parameter-to-query-url

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!