jquery - 使用 Ajax 接收复选框值

标签 jquery ajax django jinja2

我有以下复选框定义:

{% for member in team_profile %}
    <div class="checkbox">
        <label> <input type="checkbox" id="checkboxes" value="{{ member.user_id }}">{{ member.first_name }}</label>
    </div>
{% endfor %}

其中 team_profile 仅包含一堆成员名称。所以我想得到 value={{member.userid}} 的东西。

所以对于我的 jquery 我有:

var myCheckboxes = new Array();
$("input:checked").each(function() {
    data['myCheckboxes[]'].push($(this).val());
});

$.ajax({
    type:'POST',
    url:'createEvent/',
    data:{
        name: name,
        myCheckboxes: myCheckboxes,
    }
});

所以我想收集所有值并将它们存储在名为 myCheckboxes 的数组中。但我收到错误数据未定义。还有其他方法可以做到这一点吗?

谢谢, 安迪

编辑:

好的,我做了以下更改:

var myCheckboxes = new Array();
$("input:checked").each(function() {
    data['myCheckboxes[]'].push($(this).val());
});

$.ajax({
    type:'POST',
    url:'createEvent/',
    data:{
        name: name,
        myCheckboxes: myCheckboxes,
    }
});

在我的views.py中:

def createEvent(request):
    if request.method == "POST":
        member = request.POST.get('myCheckboxes')
        print(member)

但是当我打印出成员时,None 被输出。

最佳答案

一些建议...

首先,避免使用重复的 id="checkboxes" 属性,例如使用 use name="checkboxes":

{% for member in team_profile %}
    <div class="checkbox">
        <label> <input type="checkbox" name="checkboxes" value="{{ member.user_id }}">{{ member.first_name }}</label>
    </div>
{% endfor %}

此外,向数组添加数据的正确方法是使用 myCheckboxes.push(...):

var myCheckboxes = new Array();
$("input:checked").each(function() {
    myCheckboxes.push($(this).val()); // changed this line
});

$.ajax({
    type:'POST',
    url:'createEvent/',
    data:{
        name: name,
        myCheckboxes: myCheckboxes,
    }
});

最后,获取服务器上的值,如下所示:

def createEvent(request):
    if request.method == "POST":
        member = request.POST.getlist('myCheckboxes[]')
        print(member)

关于jquery - 使用 Ajax 接收复选框值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42356140/

相关文章:

jquery - Tumblr API 获取最后 50 张大尺寸照片帖子不太有效

javascript - jQuery 无法获取输入值

javascript - 检查 SQL 数据库是否有 ASP.NET 更改的最佳实践

jquery - 从 jQuery AJAX 读取 HTTP 状态/错误代码时出现问题

javascript - 使用 AJAX/jQuery 将内容加载到 div

python - Django 'User' 对象没有属性 'Goals'

javascript - 使用 jQuery 锁定和解锁页面?

php - jquery如何获取点击的div的id

python - 获取 self.fields 中的多个值

django - 'RelatedManager' 对象没有属性 'save'