0

以下にjqueryコードがあり、editsessionadmin.phpページに表示されています。このページを開くと、inはjquery / ajax関数を実行してmodule.phpページに移動し、クエリからモジュールのリストを選択できるようにします。各モジュールをオプションとして表示します。これらのオプションをページのモジュールドロップダウンメニューに表示しeditsessionadmin.phpます。

私が抱えている問題は、それがこれを行っていないということです。editsessionadmin.phpスクリプトの[モジュール]ドロップダウンメニューにはオプション以外のオプションが含まれていないため、jquery/ajaxは何もしていませんPlease Select

誰かが私が実行したいことを実行するためにjquery/ajaxコードを修正する方法を知っていますか?

以下はeditsessionadmin.phpコードです:

            <script type="text/javascript">

            $(document).ready( function(){
            function getModules() { 
            jQuery.ajax({ 
            type: "post", 
            url:  "module.php", 
            success: function(response){ 
            jQuery('#modulesDrop').append(response); 
            } 
            }); 
    });
            }
            </script>


....

<?php

    $moduleHTML = "";  
    $moduleHTML .= '<select name="modules" id="modulesDrop">'.PHP_EOL; 
    $moduleHTML .= '<option value="">Please Select</option>'.PHP_EOL;  
    $moduleHTML .= '</select>'; 


?>

module.phpページ:

`

     // connect to the database
 include('connect.php');

 /* check connection */
 if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
die();
}

$moduleactive = 1;

$sql = "SELECT ModuleId, ModuleNo, ModuleName FROM Module WHERE ModuleActive = ? ORDER BY ModuleNo"; 


 $sqlstmt=$mysqli->prepare($sql);

 $sqlstmt->bind_param("i", $moduleactive);

 $sqlstmt->execute(); 

 $sqlstmt->bind_result($dbModuleId,$dbModuleNo,$dbModuleName);


$moduleHTML  = "";  

 while($sqlstmt->fetch()) { 
     $moduleHTML .= sprintf('<option value="%1$s_%2$s_%3$s">%1$s - %2$s</option>'.PHP_EOL, $dbModuleNo, $dbModuleName, $dbModuleId);
} 


echo $moduleHTML; 

 $sqlstmt->execute(); 


?>`
4

1 に答える 1

2

あなたのコードは、ドキュメントの準備ができた状態で関数を作成しているように見えますが、それを呼び出すことはありません。また、ブラケットが少し故障しているようです。これは、コードをインデントすることでもう少しわかりやすくなります。

$(document).ready( function(){
    function getModules() { 
        jQuery.ajax({ 
            type: "post", 
            url:  "module.php", 
            success: function(response){ 
                jQuery('#modulesDrop').append(response); 
            } 
        }); 
});
    } <--- This should be swapped with the line above

あなたができることは、最後にラインfunction getModules() {とスペア}を削除することです。そうすれば、それは機能するか、少なくともFireBugで別のGETを提供するはずです。

于 2012-12-07T03:22:32.557 に答える