2010-11-29 45 views
2

我在我的Django模板下拉列表中指定的URL模式:通選擇選項值轉換成使用Django和jQuery

<select name="submit_new" id="submit_new"> 
    <option value="Stdo">Studio</option> 
    <option value="Flm">Film</option> 
    <option value="Drctr">Director</option> 
</select> 
<button type="submit_type" id="submit_new_button">Go</button> 

我想借選擇的值,並將其傳遞到Django的名爲url模式

$("#submit_new_button").click(function() { 
    var NewLink = {% url add_record $("#submit_new").val() %} 
    window.location.href = NewLink 
}); 

很明顯,正如所寫,這是行不通的。我如何使用命名模式{%url add_record VAR%}與jquery值$(「#submit_new」)。val()

編輯

我對add_record URL條目是:

url(r'^add_(?P<modelname>\w+)/$', views.generic_change, name = 'add_record') 

回答

2

肯定在urls.py的add_record條目的問題,但模板需要一點幫助也。嘗試明確說明url條目的所有參數。您可以切換到更短的hadn符號的後面,但是現在只是試試這個把事情的工作:

url(r'^add_(?P<modelname>\w+)/$', 
    view='your_app.views.generic_change', 
    name='add_record') 

再試試這個在您的模板:

$("#submit_new_button").click(function() { 
    var link = '{% url add_record 'NEWVALUESTUB' %}'; 
    link = link.replace('NEWVALUESTUB', $("#submit_new").val()); 
    window.location.href = link; 
}); 
+0

我喜歡這個想法。但我仍然得到一個TemplateSyntaxError:在呈現時捕獲NoReverseMatch:未找到帶有參數'(u' - NEW - VALUE--','')和關鍵字參數'{}'的'add_record'。從其他一些研究中,我認爲可能沒有解決方案,因爲Django呈現模板的方式。希望被糾正。 。 。 – 2010-11-29 21:34:53

1
<script> 
$("#next-button").click(function() { 
    var countryid = $('input:radio[name=countries_list]:checked').val(); 
    var link = "{% url 'selectbank' value=2 %}"; 
    link = link.replace('2', countryid); 
    window.location.href=link; 
    }); 
</script> 

我在與單選按鈕相同的問題。遵循上面的答案。但是我找到了NoReverseMatch發現的錯誤。

我可以通過這種方法解決它。