PHP jQuery AJAX ....一旦数据提交给DB,就会重新下载一个下拉列表

时间:2011-08-28 23:48:08

标签: php jquery ajax

我是PHP的新手,我正在尝试学习如何在添加新类别后重新填充下拉列表。

现在,用户可以创建新类别,并在成功时发回消息。我迷失在如何重新填充成功的下拉菜单上。

以下是一些相关代码:

//Handles the submit to DB
    $.post("addHourlyScheduleCB.php", {
            schedule: $("#schedule").val()
            },
        function(list){

        $("#message").removeClass().html(list);


        //inject the latest drop down info
        $("#scheduleSelect").load("scheduleSelect.php");


        $("html,body").animate({scrollTop:0},'slow');
        $.unblockUI()
            }
        );

成功后,我尝试注入一个PHP页面,从数据库中提取更新的数据。

这是HTML

<select name="scheduleSelect" id="scheduleSelect">
        <?php 

        while ($row = $db->sql_fetchrow($rateScheduleSQLresult)) { 
        echo "<option  value=".$row['Rate_Schedule_ID'].">$row[schedule]</option>\n"; 
        } 
        ?>
        </select>

这是在jQuery的成功函数中调用的页面:

<?php 
require_once("models/config.php");
$rateScheduleSQL = "SELECT * FROM rateschedules ORDER BY schedule";
$rateScheduleSQLresult = $db->sql_query($rateScheduleSQL);

while ($row = $db->sql_fetchrow($rateScheduleSQLresult)) { 
echo "<option  value=".$row['Rate_Schedule_ID'].">$row[schedule]</option>\n"; 
} 
?>

* 编辑:初始下拉列表显示预期结果。该帖子的成功之处在于下拉列表没有显示任何结果。我相信这是我如何尝试更新下拉列表的问题。我相信必须有一个更好的方法。 *

1 个答案:

答案 0 :(得分:1)

在回调中,尝试查看AJAX调用实际返回的内容。添加console.log(列表)以确保返回某些内容(这将显示在您的开发人员工具/ firebug控制台中)。

.load()函数是一个事件处理程序,它在加载被调用元素(#scheduleSelect)时起作用,它不会用任何信息填充它。

您想进行另一个$ .post调用以从scheduleSelect.php获取数据,并使用回调变量填充下拉列表。 (尝试用第二篇文章做一个console.log(变量))

相关问题