1

そのため、特定の ID を保持している配列の一部を取得して、その中で他の変数を使用できるようにする必要があります。

配列を作成するための現在のコードは次のとおりです。

<?php foreach ($list_subjects as $subject): ?>
    subjects.push({
        id: parseInt(<?php echo $subject['subject_id']; ?>),
        subject_name: "<?php echo $subject['subject_name']; ?>",
        course_type: "<?php echo $subject['course_type']; ?>",
        num_videos: parseInt(<?php echo $subject['num_videos']; ?>),
        subject_tag: "<?php echo $subject['subject_tags']; ?>"
    });
<?php endforeach; ?>

(この方法で PHP を混在させるのは適切ではないことはわかっていますが、この質問についてはご容赦ください)

これは、少なくとも値が配列内にあるかどうかを確認するために使用しているコードですが、毎回 -1 を返し、course_id の値が配列内にあります。

alert($.inArray(course_id, subject.id));

なぜこうなった?

4

2 に答える 2

1

配列内のオブジェクトのキーと同様に、この$.inArray(course_id, subjects.id)部分は機能しません(したがって、のプロパティではありません)。そのようにしてみてください:idsubjectssubjects

function inArrayById(array, value)
    $.each(array, function(i, element) {
        if(element.id === value){
            return true;
        }
    });
    return false;
}

alert( inArrayById(subjects, course_id) )
于 2012-07-05T11:57:39.893 に答える
0

これは、jQuery なしで機能することを除いて、Secators 関数のバリアントです。

function inArrayById(array, value) {
    for(var i = 0; i < array.length; i++) {
        if(array[i]["id"] === value) return true;
    }

    return false;
}
于 2012-07-05T13:00:20.103 に答える