0

onChange イベントを使用して mysqli クエリをトリガーするドロップダウン メニューがあります。クエリは、返された結果を配列に入力し、それが $_SESSION 変数に割り当てられます。

$_SESSION 変数に格納されている配列を使用して、ドロップダウン メニューの値が変更されるたびに選択ボックスにデータを入力しようとしています。

関連する JavaScript コードは次のとおりです。

xmlhttp.open("POST", "getStudentList.php?q="+yearGroup, true); 
xmlhttp.send();


var newStudentList =<?php echo json_encode($_SESSION['studentList']) ?>; 

    // clear select box 
    $('#studentList').empty();          

    // populate select box with JS array items
    $.each(newStudentList, function(key, value) {   
         $('#studentList')
              .append($('<option>', { value : key })
              .text(value));
    });                     

    $('#studentList').selectmenu("refresh",true);

$_SESSION['studentList'] は 'getStudentList.php' で正しく更新されていますが、ページがリロードされるまで Javascript 内の呼び出しに更新が反映されていません...更新を自動的に行うにはどうすればよいですか?

過去の投稿をチェックしましたが、本当に役立つものや理解できるものは見つかりませんでした! 私はどんな助けにも感謝します - 私は Javascript / Jquery を使用する完全な初心者であり、あちこちから PHP のビットを一緒に石畳にしました。(はい、session_start() を使用しています!)

前もって感謝します!

4

2 に答える 2

1

あなたはこのようなことをすることができます、

$("#studentList").on('change',function() {
    $.ajax({
        url: "getStudentList.php",
        dataType: "json",
        success: function(newStudentList) {

           // clear select box 
           $('#studentList').empty();          

           // populate select box with JS array items
           $.each(newStudentList, function(key, value) {   
               $('#studentList').append($('<option>', { value : key }).text(value));
           });

           $('#studentList').selectmenu("refresh",true);

        }
    });
});
于 2013-04-09T21:09:32.037 に答える