我有一個簡單的表單,其中包含一個列表(從數據庫生成的下拉列表),當用戶進行選擇時,所選內容將打印在屏幕上。我遇到的問題是,如果我使用jquery調用生成列表的PHP功能,當頁面加載時,列表將不起作用,但如果我直接在html中添加代碼,它將工作
當頁面加載的下拉列表被稱爲是這樣的:與ID =「所屬分類」產生使用jquery創建數據庫時生成的列表不工作
$('#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);
});
列表,它被正確追加到createDropDown DIV稱爲「createDropDown」。直到現在,一切看起來都不錯!在進行選擇時,新創建的列表(所屬分類)另一個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的noob,所以一些見解將非常受歡迎!
UPDATE:
我嘗試創建是這樣生成的列表之後的結合:
$('#createDropDown').ready(function()
{
id = $('#createDropDown').val();
xajax_addDropdownMenu(id);
$("#categoryList0").bind('change',function()
{
console.log('The code goes here!!');
});
});
其中categoryList0是新的列表的ID。班級名單是所屬分類
但我仍然堅持,因爲現在還沒有進入時,有一個變化的功能...
,我該怎麼做? 如何在創建列表後創建綁定? – Onema 2009-08-12 18:24:19
您需要掛鉤到xajax,並在添加列表時讓它在第二個代碼段中運行代碼。由於我不知道xajax,所以我不能告訴你如何。 – svinto 2009-08-12 18:50:32