php - jQuery 函数无法处理使用 Ajax 加载的数据

标签 php javascript jquery

当用户点击一个链接时,它会运行 $.post 来检索一些数据并显示它。其中一个链接拉出一个 session 表,每个 session 旁边都有一个按钮。这是其中一个按钮的代码:

<button class="view_session btn btn-info" id="3f87d50493698d06b9b48abe36cd8fc8">Details</button>

这是我的 jQuery 函数:

$('.view_session').click(function(){
    $('#blanket').show();
    $('#load').show();
    $.post("admin/session.php", { id: $(this).attr('id') }, function(data){
        $('#sort').html(data);
        $('#first').hide();
        $('#load').hide();
        $('#blanket').hide();
    }); 
});

但是没有任何反应。我放入了一个 Console.log 进行测试,但没有任何触发。因为按钮是在页面最初加载后创建的,所以我必须做些什么吗?

最佳答案

如果您正在动态添加按钮,.click 将不会绑定(bind)到它,除非它已经存在。您需要在按钮添加到 DOM 后 进行绑定(bind),或者使用委托(delegate),如下所示:

$(document).on('click', '.view_session', function () {

(比 document 更具体的选择器会更好)。

除此之外,作为 $.post 函数的第三个参数仅在成功时出现。您也可以使用延迟接口(interface)方法来检查失败和完成:

$.post(...).then(success).fail(failure).done(complete);

关于php - jQuery 函数无法处理使用 Ajax 加载的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13880900/

相关文章:

javascript - Jquery 验证插件不验证动态选择

php - 拉维尔 "No scheduled commands are ready to run."

php - 从 post 到单个 mysql 行的数组

javascript - PHP sql 更新不起作用

javascript - 为同一对象中的另一个值获取 JSON 对象值

javascript - ACE编辑器中删除时jquery触发事件

php - Opencart 中的支付网关集成

javascript - 创建一个不会被阻止的小书签

javascript - 为尚未单击的元素添加阴影

javascript - 使用 javascript/jQuery 查找已点击的图像