我有一个简单的表单,它有一个列表(从数据库生成的下拉列表),当用户进行选择时,选择会打印在屏幕上。我遇到的问题是,如果我在页面加载时使用 jquery 调用生成列表的 php 函数,列表将不起作用,但如果我直接在 html 中添加代码,它将起作用
当页面加载时下拉列表的名称如下:
$('#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的菜鸟,所以非常欢迎一些见解!
更新:
我尝试在生成列表后创建一个绑定,如下所示:
$('#createDropDown').ready(function()
{
id = $('#createDropDown').val();
xajax_addDropdownMenu(id);
$("#categoryList0").bind('change',function()
{
console.log('The code goes here!!');
});
});
其中categoryList0 是新列表的 ID。列表的类是 categoryList
但我仍然卡住了,因为当有变化时它仍然没有进入功能......