使用Django和Jquery将选择值传递到命名的url模式

时间:2010-11-29 15:49:16

标签: jquery django url django-templates

我的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')

2 个答案:

答案 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发现错误。

我能用这种方法解决它。