2011-01-12 7 views
1

私が持っているものは、データベースから利用可能な部屋のドロップダウンです。クラスルーム1と同様に最大容量が続き、クラスルーム1(28)、クラスルーム2(30)などのようになります。このドロップダウンリストの上には、登録する生徒の数を入力するテキストボックスがあり、任意の番号を入力できます。PHPとJavascript

私の質問は、私は、テキストボックスにキー番号に合わない教室を排除しないか、です。私が30のキーを入れ、ドロップダウンリストをクリックすると、Classroom 1(28)はもう存在しません。代わりにClassroom 2(30)が表示されます。

+0

ようになります。 – markus

答えて

3

まず、あなたは、そのテキストを変更したときにトリガーされるテキストボックスにイベントを必要としています。

その後、各オプションをループする必要があります。 textboxの値が解析されたclassrom sizeの値より大きい場合、このオプションは非表示になります。

ここではJqueryが便利です。私の意見で

これは、SQLやAjaxの問題ではありません。既存のすべての教室をフェッチして選択肢として利用できるようにし、ユーザーがテキストボックスに入力した内容に基づいて選択内容をフィルタリングします。

jqueryのは、あなたがAJAXについて読む必要があることを示して非常に一般的な質問ですが、この

$('#Count_textbox').change(function(event) 
{ 
    var countValue=$(this).val(); 

    //loops through each option 
    $('#classroom_select').find('option').each(function(index) 
    { 
    //write parseOutValue to get the value out of the string of text 
    var classroomValue=parseOutValue($(this).text()); 

    if(countValue > classroomValue) 
    { 
     $(this).attr("disabled","disabled"); 

    } 
    else 
    { 
     $(this).attr("disabled",""); 
    } 
    } 
}); 
+0

エントリのクライアント側をループするもう1つの方法は、入力された番号のAJAXリクエストをサーバーに送信することです。このメソッドは、十分に大きな部屋をDBに照会して新しい選択を戻すPHPメソッドを呼び出します。 – markus

+0

私はjqueryを持っていますが、私はあなたにコードを見せるように表示する方法がわかりません。 $ roomarray =するmysql_query( "(* FROM を選択したときにタイプ= '教室' THEN 1 WHENタイプ= 'コンピュータラボ' THEN 2 タイプ= '講堂' THEN 3 WHENタイプ、* CASE を選択= '講堂' の部屋からClassTypeValue AS THEN 4 END)トンClassTypeValue、maxppl、roomID「BY ORDER); echo "