繁体   English   中英

如何在Django中通过Ajax在下拉列表中提交所选值

[英]How do you submit the selected value in a dropdown via ajax in Django

django ajax有点新手,所以对于专家来说,我的问题可能很容易。 我有一个选择选项下拉菜单,我希望当用户从下拉菜单中选择一个值时,该值通过ajax提交,以便我可以使用所选值在django后端中运行查询集。 我可以以某种方式找出在后端执行此操作的方法,但是需要一些帮助,以了解如何通过ajax在前端提交此值。 这是下拉代码,只是基本的html,

<select>
<option>joshua</option>
<option>peter</option>
<option>james</option>
<option>pawine</option>
<option>flonah</option>
</select>

我想要一个将所选值发送到服务器的ajax函数,以便我可以使用它在django后端中运行一个queryset并将结果适当地返回给ajax成功函数。 谢谢

检查:

<select id="select_form">
<option>joshua</option>
<option>peter</option>
<option>james</option>
<option>pawine</option>
<option>flonah</option> 
</select>

var name = $('#select_form').find(":selected").text();
var url = 'your_url_here'+userName+'/';
   $.get(url, function(data)
   {
      //do something with data
   })

我为以下选择下拉菜单尝试了这种方法:

<select id="select_dropdown">
<option value='joshua'>joshua</option>
<option value='peter'>peter</option>
....
....
</select>

<script>

$(document).ready(function(){

 $('#select_dropdown').change(function(){
    var e = document.getElementById("select_dropdown");
    var value = e.options[e.selectedIndex].value;

    $.ajax({
        url: "your-url",
        type: "post",
        data: value,
        success: function(data) {

           console.log(data);
        }});

});

</script>

这是一个使用JQuery的示例,该示例将事件处理程序放置在select小部件上,当用户做出选择时,该小部件将调用Django视图。 在此示例中,所选名称将附加到URL,以便Django可以使用urls.py中的以下正则表达式来获取它:

url(r'^path_to_app/(?P<name>\w+)$', 'app.views.function'),

这是一个例子:

<select id="chooseme">
<option>--select a name--</option>
<option>joshua</option>
<option>peter</option>
<option>james</option>
<option>pawine</option>
<option>flonah</option>
</select>

<script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
<script>
$(document).ready(function() {

    $('#chooseme').change(function(){
        var name = document.getElementById("chooseme").value;
        $.get('/path_to_app/' + name, function(data){
               // do something here with a return value data, if desired
        });
    });
});
</script>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM