![](/img/trans.png)
[英]How do you set a selected item in an HTML dropdown by name, not by value?
[英]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.