gpt4 book ai didi

Jquery 和 Django 多复选框

转载 作者:太空宇宙 更新时间:2023-11-03 12:52:16 25 4
gpt4 key购买 nike

我是 jquery 的初学者,所以请多多包涵。我有一个 jquery 函数,它允许我选择多个复选框并创建一个字符串,如下所示:

function getSelectedVals(){
var tmp =[];
$("input[name='checks']").each(function() {
if ($(this).attr('checked'))
{
checked = ($(this).val());
tmp.push(checked);
}
});
var filters = tmp.join(',');
alert(filters)
return filters;
}

然后我调用一个 django View 函数并按如下方式传递字符串:

selected = getSelectedVals();
var myurl = "/bills/delete/?id=" + selected;
$.ajax({
type: "GET",
url: myurl,
data: selected,
cache: false

});

在服务器上,我有一个删除 View 函数,它遍历复选框值并操作列表。

def delete(request):
global myarray
idx = request.GET[u'id']
listidx = idx.split(',')
for l in listidx:
value = myarray[int(l)]
myarray.remove(value)
return HttpResponse("/bills/jqtut/")

问题是在服务器上,我作为 GET 字符串发送的所有索引都没有被处理,只有一半被处理。

请帮帮我!谢谢

最佳答案

据我所见,你是这样做的。您应该在所有复选框上设置相同的名称。不知道为什么要用GET方式发送,建议用POST方式发送。

<input type="checkbox" name="vehicle" value="Bike" />
<input type="checkbox" name="vehicle" value="Car" />
<input type="checkbox" name="vehicle" value="Airplane" />

然后,在您的 View 中使用 getlist() 方法:

def delete(request):
values = request.POST.getlist(u'vehicle')
# Handling goes here.

但是无论如何,除非你真的需要做自定义的东西(但是特殊情况还不足以打破规则;),使用 Django 表单。已经有一个复选框列表 OOTB。我不确定在这种情况下您为什么还要考虑使用 JavaScript。

关于Jquery 和 Django 多复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2190998/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com