2016-06-20 9 views
0

外部PHPスクリプトを呼び出すことなく、同じページの最初のドロップダウンに基づいて2番目のドロップダウンを設定しようとしています。私はajaxをテストしていますが、動作していません。別のPHPスクリプトを外部から呼び出さなければなりません。同じページに2番目のドロップダウンを挿入する

私は状態を持っているので、状態がクリックされると、dbからその状態のローカリティが2番目のドロップダウンに入力されます。最初のドロップダウンは正しく動作していますが、2番目のドロップダウンは機能しません。これは私のコードです、何も動作していないAjaxを試しています。

外部PHPスクリプトを呼び出さずに、同じページのdbから値をエコーし​​たいとします。私はどのように最初のドロップダウン値を2番目のドロップダウンに渡すことができますか?同じページに外部の別のPHPファイルを呼び出さないでください。

 //first dropdown// 
<select name="state" class="select" > 
    <option selected>State</option> 
     <?php 
    $u = "SELECT * FROM state_id"; 
    $sql = mysqli_query($con, $u); 
    while ($row = mysqli_fetch_assoc($sql)) 
    { 
echo '<option>'.$row['name'].'</option>'; 
} 
?> 

     </select> 
     </div> 
     </div> 
      <div class="col-md-2"> 
     <div class="aa-single-advance-search"> 
      <!-- second dropdown on the same page --> 

       <select name="locality" class="select2"> 
       <option selected>Location</option> 
           <?php 
           //local area is the table i am getting localities based on state value in the first select menu// 
     $u = "SELECT name FROM local_area WHERE state_id='$id'"; 
     $sql = mysqli_query($con, $u); 
     while ($row = mysqli_fetch_assoc($sql)) 
     { 
     echo '<option>'.$row['name'].'</option>'; 
    } 
     ?> 
       </select> 
+0

IDに文字列値を使用しています。データベースに文字列をそのまま使用しましたか? – Nuhel

+0

いいえ、私はしませんでした。いいえ、私はテスト用の変数を作成しましたが、うまくいきませんでしたが、IDが最初のドロップダウン値を収集するかどうかを見たいと思っていました。無視してください。それを無視してください。感謝@Nuhel –

答えて

1

よくある間違い(おそらくないあなたが遭遇された1つが、FWIW)は、PHPコードは何とかAJAXを実行することができると思うことです。違います。ページがレンダリングされると、PHPは実行できません。それがjavascriptが入ってくる場所です。そのため、AJAXはjs/jQueryで開始されています。

jQueryは、あなたのページで参照/ロードするライブラリです。 30%少ないタイピングしかないだけでなく(それだけで十分です)、それは自動的にクロスブラウザです。さらに重要なことに、jQueryはAJAX を簡単にします。

この(作業)例を検討してください。おそらくあなたのサーバとサルのサンプルを少しでも再現しているかもしれません。この例を自分のソリューションに変えてください。

Populate dropdown B based on selection in dropdown A

0

私は少し仕事を行なったし、それが働いていたが、何私を混同することは外部のPHPスクリプトと2番目のドロップダウンの関係でした。

関連する問題