我希望在页面加载时存储复选框的值及其状态。当我提交表单时,我想检查前面的“已检查”复选框是否为“未选中”;如果是这样,我需要将值保存在字符串中以用作查询中的列表。我尝试了以下但我的语法有问题。请帮忙。
<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
});
});
});
答案 0 :(得分:1)
在以下语句中使用不带引号的$(this).val()
。如果与引号一起使用,则将其视为字符串。
periodCHK[$(this).val()]