2011-08-28 20 views
0

私はPHPを初めて使いました。新しいカテゴリが追加されたら、ドロップダウンを再設定する方法を学びたいと思っています。PHP jQuery AJAX ....データがDBに送信されたら、ドロップダウンをリロード

今すぐユーザーが新しいカテゴリを作成し、成功するとメッセージが返されます。私は成功のドロップダウンを再配置する方法に迷っています。私はDBから更新されたデータを引っ張る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() 
      } 
     ); 

:ここ

は、いくつかの関連のコードです。ここで

は、ここで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"; 
} 
?> 

EDIT *:初期ドロップダウンが期待される結果を示しています。ポストの成功は、ドロップダウンが結果を示さないことです。私はこれがドロップダウンをどのように更新しようとしているかの問題だと思う。私はずっと良い方法がなければならないと信じています。 *

+0

データベース接続には何を使用していますか? – Ben

+0

接続はmodels/config.phpにあります。私はこれが問題だとは思わない。 –

+0

私はあなたのクエリを実行するためにどのライブラリを使用しているのですか。 – Ben

答えて

1

コールバック内で、AJAX呼び出しによって実際に返される内容を確認してください。 console.log(list)を追加して、何かが返されていることを確認します(これはあなたの開発者用ツール/ firebugコンソールに表示されます)。

.load()関数はイベントハンドラであり、呼び出された要素(#scheduleSelect)がロードされたときに動作し、情報を入力しません。

別の$ .post呼び出しを行ってscheduleSelect.phpからデータを取得し、ドロップダウンにコールバック変数を設定する必要があります。 (第2投稿でconsole.log(変数)を実行しようとする)

関連する問題