AJAX RETURN 关于 php/mysql 动态下拉菜单的帮助

AJAX RETURN help on php/mysql dynamic drop down menu

我正在尝试根据第一个下拉菜单的 selection 填充一个下拉菜单。第一个下拉菜单是我数据库中 table 的列表,第二个下拉菜单将从 table.

中的提供程序中填充

我在使用 ajax 脚本时遇到问题。我不知道如何测试 ajax returns,我对这一切还很陌生。但是截至目前,当我从第一个下拉菜单中 select table 时,没有任何反应(应该填充第二个下拉菜单)。我相信我的问题在于从 ajax 检索结果,但这只是一个猜测。

如有任何帮助,我们将不胜感激。

我的 Javascript 将我的专家 table 的选择信息发送到 ajax 文件...

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
    jQuery(document).ready(function(){

        jQuery("flip").click(function(){
            jQuery("#panel").slideToggle("slow");
        });

        //provider drop down menu
        jQuery(".wrap").on('change','#specialist', function() {
            var querystr = 'specialist='+jQuery('#specialist :selected').val();
            jQuery.post("ajax.php", querystr, function(data) {
                if(data.errorcode ==0){
                    jQuery('#providercbo').html(data.chtml)
                }else{
                    jQuery('#providercbo').html(data.chtml)
                }
            }, "json");
        });

    });
</script>

我的ajax文件

$specialist = isset($_POST['specialist']) ? $_POST['specialist'] : 0;
if ($specialist <> 0) {
    $errorcode = 0;
    $strmsg = "";
    $sql="SELECT * from $specialist ORDER BY provider";
    $result=mysql_query($sql);
    $cont=mysql_num_rows($result);
    if(mysql_num_rows($result)){
        $chtml = '<select name="provider" id="provider"><option value="0">--Select Provider--</option>';
        while($row = mysql_fetch_array($result)){
            $chtml .= '<option value="'.$row['id'].'">'.$row['provider'].'</option>';
        }
        $chtml .= '</select>';
        echo json_encode(array("errorcode"=>$errorcode,"chtml"=>$chtml));
    }else{
        $errorcode = 1;
        $strmsg = '<font style="color:#F00;">No Provider available</font>';
        echo json_encode(array("errorcode"=>$errorcode,"chtml"=>$strmsg));
    }
}

HTML

<table id="dynamictable" cellpadding="5" cellspacing="5" border="3"  align="center">
        <tr><td>
                <div class="wrap" align="left">
                    <h3><strong>1.</strong>Specialist</h3>
                    <select id="specialist" name="specialist" required>
                        <option value="">--Select Specialist--</option>
                        <option value="addiction_specialist">Addiction Specialist</option>
                        </select
                </div></td>

            <td><h3 align="left"><strong>2.</strong>Provider</h3>
                <div class="wrap"  id="providercbo" align="left"></div></td>

    <table>

在 PHP 端设置调试(XDebug 在大多数情况下工作得很好)。此外,对于任何 AJAX/web 请求功能,我 运行 fiddler (http://www.telerik.com/fiddler) 查看从 Web 服务器返回给客户端的内容(它将为您提供完整的 Web 视图请求)。

希望对您有所帮助!