复选框未选中状态

时间:2013-09-27 04:54:29

标签: javascript jquery checkbox

我有以下函数返回一个已选中复选框的数组。

function grabData(checked) {
    return $('.product_category_selector' + (checked? ':checked' : ':not(:checked)')).map(function (index, chk) {
        return $(chk).data('id');
    }).get();

在我的主要处理功能中,我目前将“状态”硬编码为1

使这种动态变化的最佳方法是什么?

完整代码:

        $('body').on("click", "#brands_by_category_submit_btn", function (e) {
             e.preventDefault();               
            var self       = $(this);
            var sortOrder  =  []; 
            var id         = $("#manID").data("id");
            var brand_name = $("#brand_name").data("id");
            var data       = grabData(true);

            $(".order").each(function(){
                sortOrder.push($(this).val());
            })

            if(data.length)
            {
                var data_array = { 
                    id : id,
                    brand_name : brand_name, 
                    cat_id     : data,
                    sortOrder  : sortOrder, 
                    state      : 1
                };

1 个答案:

答案 0 :(得分:0)

使用:checked选择器只获取您感兴趣的内容,然后将这些data-id属性映射到数组。

没有grabData()来电:

var $checked = $(":checked");
var data = $.map($checked, function(item){ return item.attr('data-id') });

grabData()来电:

function grabData(){
    var $checked = $(":checked");
    var data = $.map($checked, function(item){ return item.attr('data-id') });

    return data;
}

var data = grabData();