0

別のメニューでの選択に基づいて、2 番目のオプション選択メニューを作成しようとしています。問題は、jQuery で実行できないことです。これが私のコードです

<head>
<script type="text/javascript">
$(document).ready(function()
{
$("#add_subject").change(function()
{
    var id=$(this).val();
    var dataString = 'id='+ id;

    $.ajax
    ({
        type: "POST",
        url: "inc.add.content.populate.php",
        data: dataString,
        cache: false,
        success: function(html)
        {
            $("#add_content").html(html);
        } 
    }); 
});
});
</script>
</head>

<div class="grid_10">
    <div class="box round first">
        <h2>Title</h2>
        <div class="block"> 
        <form method="post">
            <table class="form">
                 <tr>
                    <td>
                        <select id="add_subject" name="add_subject">
                            <option value="1">first option</option>                           
                        </select>
                        <select id="add_content" name="add_content">
                        </select>
                   </td>
                </tr>                
             </table>
        </form>           
        </div>
    </div>
</div>

そして、私の inc.add.content.populate.php ファイル

<?php
require_once(BASEDIR.'includes'.DIRECTORY_SEPARATOR.'inc.functions.php');

if($_POST['id'])
{
$id=$_POST['id'];
global $mysqli;

if($query = $mysqli->prepare("SELECT naslov,vsebine_id FROM table_vsebine WHERE predmet_id=?")){
    $query->bind_param('i',$id);
    if($query->execute()){
        $query->bind_result($naslov,$vsebine_id);
        $query->store_result();

        while($row = $query->fetch()){
        echo '<option value="'.$vsebine_id.'">'.$naslov.'</option>';
        }
    }
    }
}
?>
4

2 に答える 2

0

inc.add.content.populate.phpファイルを直接実行していて、そのようにBASEDIR定義されています。index.phpこの場合、この ajax 呼び出しで実行されないBASEDIRため、このスクリプトでは定義されていません。index.php

たとえば、すべてをconstant別のファイルで定義し、constants.phpそれを使用/インクルードするだけで、次のように簡単に実行できます。index.phpinc.add.content.populate.php

require_once('path/to/file/constants.php');
require_once(BASEDIR.'includes'.DIRECTORY_SEPARATOR.'inc.functions.php');
// ...
于 2013-09-14T19:42:36.017 に答える