在复选框上,单击将值存储到数组中

perkes456

我有一个复选框列表,如下所示:

$('.check-user').click(function() {
    var $this = $(this);
    var user_id = $this.attr('value');
    var brandContainer = $this.closest('.pop-state').siblings('.pop-brands');
    brandContainer.html('<p style="margin: 10px !important;">Processing... </p>');
    $.post('/user/usersBrands', { userId: user_id } , function(data) {

        var brands = JSON.parse(data);
        var container = $('<div class="pop-mission-co" />');

        brands.forEach(function (brand, index) {
            var isRegisteredToBrand = null;
            if(brand.userId==null)
            {
                isRegisteredToBrand = false;
             }
            else{
                isRegisteredToBrand = true;
            }
            container.append(buildBrand(brand.id, brand.name, isRegisteredToBrand, index));
        });
        function buildBrand(id, name, isActive, index) {
            var isChecked = isActive ? 'checked="checked"' : ' ';
            return $(
                '<div class="pop-mission-to">' +
                    '<label>' +
                        '<input class="check-brand"' +
                            isChecked +
                            'type="checkbox"' +
                            'name=""' +
                            'value="' + id + '"' +
                            'data-id="' + index + '">'
                                + name +
                    '</label>' +
                '</div>'
            );
        }
        brandContainer
            .children('p').remove();
        brandContainer
            .html(container)
            .find('.pop-mission-co').show();
    });
    brandContainer.on('change', '.check-brand', function() {

        console.log($(this).attr("checked"));

    });
});

复选框列表是在jQuery中的$ .post之后创建的,现在当检查这些复选框中的每个复选框时,我需要处理该事件,如下所示:

 brandContainer.on('change', '.check-brand', function() {

            console.clear();
    var checked = "";
    if($(this).attr("checked"))
    {
        checked = "checked";
    }
    else
    {
        checked = "unchecked";
    }
    console.log(checked);
    console.log($(this).val());

        });

如您所见,我正在使用委托事件处理程序来检查复选框是否已选中...当用户单击1复选框时,应将其放入数组中,如下所示:

Array { "checked", "1" }

当用户单击另一个复选框时,应按以下方式更新阵列:

Array {  "checked", "1", "checked", "2" }

如果用户取消选中已选中的复选框,则说第二个值为2,则数组应如下所示:

数组{“ checked”,“ 1”,“ unchecked”,“ 2”}

整个过程还在继续...有人可以帮我这个忙吗?非常感谢 !:)

phreakv6

我认为这可能有效。

var checkbox_events = [];
brandContainer.on('change', '.check-brand', function() {
    if($(this).is(':checked') {
        checkbox_events[$(this).val()] = 'checked';
    } else {
        checkbox_events[$(this).val()] = 'unchecked';
    }
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

复选框的绑定值未存储到数组中

如何在复选框单击时将列表项的值存储在数组中并在取消单击时删除

将值保存到AngularJS中ng-repeat内复选框上的数组

单击复选框将复选框的值添加到数组

无法将复选框中的值存储到 ReactJS 中的功能状态

将选中的复选框存储到angularjs树形结构的数组中

使用Ajax到JSP将复选框值传递到数组中

单击时将复选框的值保存在数组中(jQuery)

如何将复选框值发布到数组?

在变量或数组中存储多个复选框的值

使用flask,jinja2将html复选框值存储到列表中

如何根据复选框的值将数据存储到多个MySQL表中?

将多个复选框值存储到 php mysqli 数据库中

将选中的复选框值及其名称存储在二维数组中

如何将所有复选框ID和值存储在2D数组中,以及如何使用Ajax存储到php页面?

如何将复选框值从迭代表行传递到Vue中的数组?

如何将多个复选框值传递到数组中

将复选框值传递给 Angular 中的数组

数组输入复选框上的从属复选框

Ajax代码,用于将多个复选框值存储到数组并传递给控制器

将列表中禁用复选框上方的启用复选框分组

Django中数组的复选框值

使用复选框和输入框中的值将属性模型值绑定到数组

C#:如何将在复选框中选择的值存储到数组

选中/取消选中复选框时,将属性模型值绑定到 v-for 中的数组

如何将复选框的值作为数组从视图传递到laravel 4中的控制器

将复选框值存储到Firebase数据库

将动态复选框的值存储到状态挂钩中

如何防止单击复选框的标签范围。仅在复选框上可单击