リストを持つシンプルなフォーム(DBから生成されたドロップダウンリスト)をユーザが選択すると、その選択が画面に表示されます。私が持っている問題は、jQueryを使って、ページがロードされているときにリストを生成するphp関数を呼び出すと、リストは機能しませんが、htmlでコードを直接追加すれば正常に動作します。
ページのドロップダウンリストは、このように呼ばれてロードします。jqueryを使用して作成したときにDB生成リストが機能しない
$('#createDropDown').ready(function(){ id = $('#createDropDown').val(); // this calls a php function that creates a dropdown list from the DB // the dropdown's id = 'categoryList' xajax_addDropdownMenu(id);
});
リストID =「categoryList」で生成され、それが「createDropDown」と呼ばれるcreateDropDown DIVに正しく追加されます。今まですべてがよさそうだよ!選択が新たに作成されたリスト(categoryList)に行われたとき 問題は、選択が行われたときに、次のコードが呼び出されるべき別のjQueryを
と呼ばれています:
$('#categoryList').change(function() {
bucket_id = $('#categoryList').val();
var selected = "";
// get selected value from the dropdown menu
$("#categoryList option:selected").each(function() {
selected += $(this).text() + " ===>";
});
// if we have a valid ID print it in the screen.
if(bucket_id!= 0)
{
xajax_addCategory(selected);
}
});
xajax_addCategory(選択します);は、選択した項目を画面に表示します。しかし働いていない。
注:これは正常に動作します。私はphp関数を呼び出してmain.htmlファイルに直接ドロップダウンを生成するので、リストが正しいIDで生成されていることがわかりますが、動作しますが、Jqueryを使用するとphpメソッドを呼び出して呼び出すと、うまくいきません。なぜか分かりません。
PS私はJqueryのノブですので、いくつかの洞察力は大歓迎です!
UPDATE:categoryList0は、新しいリストのIDある
$('#createDropDown').ready(function()
{
id = $('#createDropDown').val();
xajax_addDropdownMenu(id);
$("#categoryList0").bind('change',function()
{
console.log('The code goes here!!');
});
});
:
私は、リストがこのように生成された後に結合を作成してみました。リストのクラスcategoryList
ですが、変更があった場合、それはまだ機能になっていないので、私はまだこだわって...
と私はどうすればいいですか? リストの作成後にバインディングを作成するにはどうすればよいですか? – Onema
xajaxにフックして、リストを追加したときにコードを2番目のスニペットで実行する必要があります。私がxajaxを知らないので、私はあなたにどのように言うことができません。 – svinto