如何在pageload中存储checkbox的值和状态

时间:2015-06-26 21:54:06

标签: javascript jquery

我希望在页面加载时存储复选框的值及其状态。当我提交表单时,我想检查前面的“已检查”复选框是否为“未选中”;如果是这样,我需要将值保存在字符串中以用作查询中的列表。我尝试了以下但我的语法有问题。请帮忙。

<input type="checkbox" name="Periods" value="25301601" />
<input type="checkbox" name="Periods" value="25301602"  checked />

<input type="button" id="buttonStore" value="Store">
<input type="button" id="buttonCompare" value="Compare">
$(document).ready(function() {
    $("#buttonStore").click(function () {
        // save status and value of all the checkboxes
        var periodCHK= [];
        $(":checkbox").each(function (){                            
            periodCHK["$(this).val()"]=($(this).is(':checked'));//does not store
             alert($(this).is(':checked'));
            alert($(this).val());
        });
        alert(periodCHK);//nothing
        }); 

     $("#buttonCompare").click(function () {     
        var periodstring; 
        $(":checkbox").each(function () {
            if (!$(this).is(':checked'))
                //if $(":checkbox").not(':checked')
            {
                //if this one was checked before, grab it and make a string
                if (periodCHK["$(this).val()"]) 
                {
                    periodstring+=["$(this).val()"] + ",";
                }
            }
            alert(periodstring); // does not loop
        });
    });
});

1 个答案:

答案 0 :(得分:1)

在以下语句中使用不带引号的$(this).val()。如果与引号一起使用,则将其视为字符串。

periodCHK[$(this).val()]