私はページ上で選択リストを持っており、すべての選択リストを反復しています。値は、 "default"、 "Excuses Absent"、および "Excused Late"です。デフォルトは基本的には「選択...」です。私はそれを無意味なので、サーバーに渡したり、処理をしたりしたくありません。この配列でNULL値を取得するのはなぜですか?
これは私のjQueryのです:
attendSelect.each(function(k, v)
{
attendance = $(this).val();
if(attendance != "default")
{
console.log(attendance == "default");
students[k] =
{
lesson : $(this).attr('id'),
student_id : $(this).attr('name'),
attendance : attendance
};
}
});
それはこの場合には、3回を、私はそれをテストするたびに倍の虚偽の正しい量を出力しますので、これは動作します。しかし、問題はサーバー側にあります(私は思っていますか?)。変数を出力すると、jQueryでデフォルトが見つかった時間をNULLにしてNULLが返されます。確かに、私はNULLのないサイズ3の配列だけを取得する必要があります。
これはPHPで印刷されたものである。
$students = json_decode($_POST['students'], true);
var_dump($students);
array(12) {
[0]=>
NULL
[1]=>
NULL
[2]=>
NULL
[3]=>
array(3) {
["lesson"]=>
string(9) "lesson[7]"
["student_id"]=>
string(12) "student[241]"
["attendance"]=>
string(14) "Excused Absent"
}
[4]=>
array(3) {
["lesson"]=>
string(9) "lesson[7]"
["student_id"]=>
string(12) "student[270]"
["attendance"]=>
string(12) "Excused Late"
}
[5]=>
NULL
[6]=>
NULL
[7]=>
NULL
[8]=>
NULL
[9]=>
NULL
[10]=>
NULL
[11]=>
array(3) {
["lesson"]=>
string(9) "lesson[9]"
["student_id"]=>
string(12) "student[317]"
["attendance"]=>
string(14) "Excused Absent"
}
}
これは私のAJAXです:
students = JSON.stringify(students)
if(attendSelect.length)//protect against submitting on past lessons
{
$.post('', { students : students, cid: cid }, function(response)
{
console.log(response);
});
}
それも、if文を入力していないとき、私はNULLを取得する理由を私は理解していませんjQueryであなたの問題は、ここで、このラインである
ソート済みです。ありがとう:) –