【发布时间】:2011-01-26 09:22:07
【问题描述】:
嘿,伙计们,这真的让我很烦恼,所以如果你能帮助我,那就太棒了。
我正在使用 jQuery 和 YUI,我正在尝试通过 json 向 php 发送一个多维数组,但由于某种原因,我无法从跨度中抓取文本放入数组中!去搞清楚!无论我如何尝试,我似乎都无法添加它。如果我手动将测试数据添加到 WeekDays0 = 并且可行,但由于某种原因它不会从跨度中获取文本!
点击警报有效并输出跨度信息,但我似乎无法设置数组值
function checkDay(checkbox) {
var checked = '0';
if ($('#' + checkbox).is(':checked')) {
checked = '1';
} else {
checked = '0';
}
return checked;
}
var WeekDays = new Array(7);
WeekDays[0] = new Array();
WeekDays[0][0] = checkDay('chxMonday');
WeekDays[0][2] = $('#results22Monday').text();
WeekDays[1] = new Array();
WeekDays[1][0] = checkDay('chxTuesday');
WeekDays[1][3] = new Array();
WeekDays[1][4] = $('#results22Tue').text();
WeekDays[2] = new Array();
WeekDays[2][0] = checkDay('chxWednesday');
WeekDays[2][5] = $('#results22Wednesday').text();
WeekDays[3] = new Array();
WeekDays[3][0] = checkDay('chxThursday');
WeekDays[3][6] = $('#results22Thursday').text();
WeekDays[4] = new Array();
WeekDays[4][0] = checkDay('chxFriday');
WeekDays[4][7] = $('#results22Friday').text();
WeekDays[5] = new Array();
WeekDays[5][0] = checkDay('chxSaturday');
WeekDays[5][8] = $('#results22Saturday').text();
WeekDays[6] = new Array();
WeekDays[6][0] = checkDay('chxSunday');
WeekDays[6][9] = $('#results22Sunday').text();
WeekDays = YAHOO.lang.JSON.stringify(WeekDays);
$('#btnUpdateSettings').click(function () {
alert($('#results22Tue').text());
$.ajax({
data: {
contactID: d.act_contactID,
apiCPolicy: $('[name=txtCpolicy]').val(),
apiNewRegistrations: $('[name=rdoRegister]').val(),
apiInterval: $('[name=cboBooking]').val(),
apiMaxDate: $('[name=cboMaxDate]').val(),
apiTimes: WeekDays,
method: 'updateWebBooking',
dataType: 'json'
},
success: function () {
console.log("welldone, you've updated!");
},
error: function () {
alert("ooooppps!");
}
});
});
当我检查控制台徽标时,我得到下面的屏幕,显示数组为空。
我已经标记了我希望文本出现但它不存在的空间!真是太气人了。所有其他数组结果也是如此
你真正能帮助我的任何想法
更新
警报确实有效并输出如下所示,但它只是没有添加到数组中!
所以我仍然不知道它没有被添加。
更新
这真的很奇怪,我确实将索引设置为下面的索引,但是当我第一次将代码粘贴到问题中时,索引发生了变化!奇怪的!无论如何,当数组索引正确时它不起作用!
var WeekDays = new Array(7);
WeekDays[0] = new Array();
WeekDays[0][0] = checkDay('chxMonday');
WeekDays[0][1] = $('#results22Monday').text();
WeekDays[1] = new Array();
WeekDays[1][0] = checkDay('chxTuesday');
WeekDays[1][1] = new Array();
WeekDays[1][1] = $('#results22Tue').text();
WeekDays[2] = new Array();
WeekDays[2][0] = checkDay('chxWednesday');
WeekDays[2][1] = $('#results22Wednesday').text();
WeekDays[3] = new Array();
WeekDays[3][0] = checkDay('chxThursday');
WeekDays[3][1] = $('#results22Thursday').text();
WeekDays[4] = new Array();
WeekDays[4][0] = checkDay('chxFriday');
WeekDays[4][1] = $('#results22Friday').text();
WeekDays[5] = new Array();
WeekDays[5][0] = checkDay('chxSaturday');
WeekDays[5][1] = $('#results22Saturday').text();
WeekDays[6] = new Array();
WeekDays[6][0] = checkDay('chxSunday');
WeekDays[6][1] = $('#results22Sunday').text();
更新
好的,我觉得我需要给你们一个更全面的问题,让你们了解我正在尝试做的事情,因为可能有一种更有说服力的方法来实现这一目标。下面的图片可能是展示这一点的最佳方式。当我按下更新表格按钮时,它会在右侧的空白区域填充一个表格,其中包含复选框,这些复选框是在表格中较早设置的特定增量。我想保存这些复选框以及当天的复选框是否已被选中。如果未选中这一天,我希望清除该表,以便那天没有数据发送到数据库。这就是为什么我想保存在一个多维数组中然后序列化它们,但我不能让它工作
【问题讨论】:
-
删除这个 WeekDays[1][1] = new Array();
标签: jquery multidimensional-array yui