2013-03-18 143 views
0

我想動態地將一個變量傳遞給django模板標籤,但是我無法成功。將表單變量動態傳遞給Django模板標籤

<input id="country" /> 
<div id="button"> Button </div> 

$('#button').click(function(){ 
    var dynamicVar=$('#country').val(); 
    var tags= {  
    source: {% url myView dynamicVar %} /* but {% url myView 'someValue' %} works */ 
    select: function(event, s){ 
     $("#city").val(s.label); 
     }; 
    $("#city").autocomplete(tags); 
}); 

我得到這個NoReverseMatch錯誤,說dynamicVar沒有通過。

長篇小說:我試圖獲得2個級聯下拉列表。用戶選擇一個國家,城市輸入變爲可用。我希望城市領域是自動完成的領域。目前,沒有國家/地區字段,它可以工作,但查詢速度很慢。所以我想先過濾它。

+1

哪裏是你的模板標籤代碼? – catherine 2013-03-18 09:40:52

+0

我使用網址模板標記。 – 2013-03-18 09:45:52

+1

http://stackoverflow.com/questions/3057318/passing-variable-urlname-to-url-tag-in-django-template – 2013-03-18 09:54:04

回答

1

{% url myView dynamicVar %}呈現在服務器端,所以你必須:

var dynamicVar = $('#country').val(); 
var url = 'http://your_site.com/autocomplete_country/' + dynamicVar + '/' 

爲了避免在模板中硬編碼服務器名稱,使用request.get_host

+1

這也是作品 – catherine 2013-03-18 10:18:50

+0

我想這可能應該工作,我需要檢查當我回到我的工作站,並選擇作爲答案如果它有效。 – 2013-03-18 10:51:32

相關問題