2011-06-20 19 views
0

私は、mysqlデータベーステーブルから値を取得するコンボボックスを作成します。 ここには実装するサンプルコードがありますが、selectboxの値は設定されません。データベーステーブルから選択ボックスに値を取得する

mydata +='<div class="content nodisplay"><div class="row"><div class="label" style="font-size:22px;">Subject</div><div class="data"> 
<select id="fillsubject" name="fillsubject">'; 
$.post(document.URL,qstring,function(data){ 

     var subjects = $(data).filter('.subjects'); 

     $.each(subjects,function(index,value){ 
      var subid = $(this).attr('id'); 
      var subname = $(this).text(); 
      mydata += "<option value='"+subid+"'>"+subname+"</option>"; 
      //mydata += "<option value='english'>english</option>"; 
     }); 

}); 
mydata +='</select></div></div></div>';  
+0

あなたのリクエストから結果が得られないという意味でMySQLの問題ですか?または、上記のjqueryコードが機能していないのでしょうか? subidとsubnameに警告があり、実際に何かが含まれているかどうかを確認するとよいでしょう – Abhay

+0

@Abhay結果が完全に来ています。 –

+0

お役立ち情報:-) – Abhay

答えて

0

ソースコードの残りの部分にどのようにコードサンプルが入りますか?

のではなく、あなたの.each関数の

mydata += "<option value='"+subid+"'>"+subname+"</option>"; 

を使用して、あなたは

$("#fillsubject").append("<option value='"+subid+"'>"+subname+"</option>"); 

を使用したほうが良いでしょう私はあなたのコードサンプルした後mydataでやっているのか分かりません投稿は非同期であるため、jsがあなたのサーバからの返信を受け取ったときにmydataが既に表示されている可能性があります。この場合、上記の提案は期待通りに機能します。

1
var mydata +='<div class="content nodisplay"><div class="row"><div class="label" style="font-size:22px;">Subject</div><div class="data"><select id="fillsubject" name="fillsubject"></select></div></div></div>'; 
$.post(document.URL,qstring,function(data){ 

     var subjects = $(data).filter('.subjects'); 
     var subopts = ''; 
     $.each(subjects,function(index,value){ 
      var subid = $(this).attr('id'); 
      var subname = $(this).text(); 
      subopts += "<option value='"+subid+"'>"+subname+"</option>"; 
     }); 
     //after the loop is over building your <options/> inject the html 
     $('#fillsubject').html(subopts); 
}); 

あなたは必要はありません<select></select>を分割しています。上記のようにすることができます。

関連する問題