我有一个下拉列表,其中填充了数据库记录以及一个按钮,用于通过对处理页面的 AJAX 调用显示每条记录的信息。如果记录的“批准”数据库字段为真,则复选框显示为选中,否则为未选中。到目前为止,一切正常。
我的问题是无法在动态生成的复选框上使用 jQuery 选择器。当复选框被更改时,什么都不会发生——没有控制台日志或任何东西。
我没有重构我的代码以避免重复/等,所以请原谅马虎:
PHP(通过 AJAX 调用返回的代码):
if($approved) {
echo '<p><strong>Approved: </strong>';
echo '<input type="checkbox" id="checkbox_unapprove" checked>';
echo '</p>';
} else {
echo '<p><strong>Approved: </strong>';
echo '<input type="checkbox" id="checkbox_approve">';
echo '</p>';
}
我的 jQuery 的一部分:
$('#checkbox_approve').change(function(){
console.log('clicked');
var dropdown_id = $('#exchanges0 option:selected').attr('id');
alert(dropdown_id);
});
$('#checkbox_unapprove').change(function(){
console.log('clicked');
var dropdown_id = $('#exchanges1 option:selected').attr('id');
alert(dropdown_id);
});
我认为 jQuery 无法访问 #checkbox_approve 或 #checkbox_unapprove 因为它们在页面加载时没有加载到 DOM 中。它是否正确?