【发布时间】:2010-02-03 21:52:22
【问题描述】:
我是 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 视图函数并按如下方式传递字符串:
selected = getSelectedVals();
var myurl = "/bills/delete/?id=" + selected;
$.ajax({
type: "GET",
url: myurl,
data: selected,
cache: false
});
在服务器上,我有一个删除视图函数,它遍历复选框值并操作列表。
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 字符串发送的所有索引都没有被处理,只有一半被处理。
请帮帮我!谢谢
【问题讨论】:
-
您可以使用
$("input[name='checks']:checked").each缩短每个函数并删除 if 语句。