我的django模板中有一个下拉列表:
<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(r'^add_(?P<modelname>\w+)/$', views.generic_change, name = 'add_record')
答案 0 :(得分:2)
urls.py中的add_record条目肯定存在问题,但模板也需要一些帮助。尝试明确该url条目的所有参数。您可以稍后切换到更多简短的符号,但现在只需尝试这样做就可以了:
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;
});
答案 1 :(得分: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发现错误。
我能用这种方法解决它。