2012-03-01 14 views
0

チェインされた選択ボックスは正常です。最初の選択ボックスは車両メイクまたはvmakeで、2番目のボックスは車両モデルまたはvmodelです。現在は、vmakeの値を選択した後にページが読み込まれ、vmodelボックスが表示されたときにvmake選択ボックスのみが表示されます。私のクライアントは、ページが読み込まれたときにvmodelとvmakeの選択ボックスを表示したいと考えています(ユーザーがvmakeから選択するまでvmodelボックスが空であっても)。それは愚かに聞こえるが、クライアントは本当にこのようにしたい。ここで最初に選択したボックスの値を選択する前に、すべてのチェインの選択ボックスが表示されます。

これはこれは私のデータベース

を呼び出しgetTierOneのためのPHPスクリプトです

<select name="vmake" id="vmake"> 

    <option value="" selected="selected">Make</option> 

    <?php getTierOne(); ?> 

</select> 

<span id="wait_0"> 
</span> 
<span id="result_1"></span> 

PHPページを呼び出しHTMLでのメインページからjqueryのコード

<script type="text/javascript">$(document).ready(function() { 
    $('#wait_1').hide(); 
    $('#vmake').change(function(){ 
     $('#wait_1').show(); 
     $('#result_1').hide(); 
     $.get("func.php", { 
     func: "vmake", 
     drop_var: $('#vmake').val() 
     }, function(response){ 
     $('#result_1').fadeOut(); 
     setTimeout("finishAjax('result_1', '"+escape(response)+"')", 400); 
     }); 
     return false; 
    }); 
}); 
function finishAjax(id, response) { $('#wait_1').hide(); $('#'+id).html(unescape(response)); 
$('#'+id).fadeIn(); 
} 
</script> 

です

function getTierOne(){$result = mysql_query("SELECT DISTINCT vmake FROM vmake") 
or die(mysql_error()); 

    while($tier = mysql_fetch_array($result)) 

    { 
     echo '<option value="'.$tier['vmake'].'">'.$tier['vmake'].'</option>'; 
    }} 

最後にこれはPHPの残りの部分です

if($_GET['func'] == "vmake" && isset($_GET['func'])) 
{vmake($_GET['drop_var']); 
} 
function vmake($drop_var) 
{ 
include_once('db.php'); 
    $result = mysql_query("SELECT * FROM vmake WHERE vmake='$drop_var'") 
    or die(mysql_error()); 

    echo '<select name="vmodel" id="vmodel" style="width:242"> 
      <option style="width:242" value=" " selected="selected">Model</option>'; 

      while($drop_2 = mysql_fetch_array($result)) 
      { 
       echo '<option style="width:242" value="'.$drop_2['vmodel'].'">'.$drop_2['vmodel'].'</option>'; 
      } 

    echo '</select> ';} 

ページロード時にvmodelボックスが表示されるように変更する必要があるかどうかわかりません。何か提案ありがとう、長い質問を申し訳ありません。

+0

私は何もあなたはそれが機能は、それが動作するためにdrop_varパラメータを要求しようとしているだけのことだ、そこからvmodelをエコーするために起こっているので、vmake関数を呼び出す必要がありますあなたのコードが間違っているんだと思います。 :) –

+0

そうするためにコードにどのような変更を加えるのですか?私はちょうど学んでいる、ありがとう。 – Rookieatthis

+0

ページに表示されているvModelのページにドロップダウンを作成します。 vModelのAJAX onchangeを呼び出して、応答からドロップダウンオプションを取得し、オプションをvModelドロップダウンに追加します。 – gentrobot

答えて

0
 A dropdown inside another dropdown? Is that posible? 

    <select name="vmake" id="vmake"> 

     <option value="" selected="selected">Make</option> 

      <?php getTierOne(); ?> //this function will output 

      "<select name="vmake" id="vmake"> 
      <option value="" selected="selected">Make</option> 
     </select>" 

    </select>