生成的html代码无法点击

时间:2009-08-25 22:09:57

标签: php jquery html ajax

请帮助我,我是ajax和框架jQuery的新手,我在jQuery中制作一个页面,不同的插件页面,但是当我从ajax接收html代码,并且无法点击时,我使用了一个函数live(),但只是帮助插件删除,编辑插件不起作用,可能是什么问题......

这是用于编辑的脚本

<script type="text/javascript">
    $(document).ready(function() {
        $('.editme').editable('func/update_data.php', {
            submitdata: {
                type: "<?php echo $page_type?>"
            },
            cancel: 'Cancel',
            submit: 'OK',
            tooltip: 'Click to edit...',
            id: 'element_id',
            name: 'update_value',

        });
    });
</script>

这是插件模式窗口和

的脚本
$(document).ready(function () {
    $('#basicModal input.basic, #basicModal a.basic').click(function (e) {
        e.preventDefault();
        $('#basicModalContent').modal({
            onOpen: function (dialog) {
                dialog.overlay.fadeIn('slow', function () {
                    dialog.data.hide();
                    dialog.container.fadeIn('slow', function () {
                        dialog.data.slideDown('slow');
                    });
                });
            },
            onClose: function (dialog) {
                dialog.data.fadeOut('slow', function () {
                    dialog.container.hide('slow', function () {
                        $.modal.close();
                    });
                });

            }
        });

    });

    $("form#submit_wall").submit(function () {
        var message_wall = $('#message_wall').attr('value');
        $('#message_wall').val('');
        $.ajax({
            type: "POST",
            url: "func/insert.php",
            data: "message_wall=" + message_wall,
            dataType: "html",
            complete: function () {
                $('#basicModalContent').html('<div class="succes"><p>Successful</p> Your record was posted  ! </div>');
                setTimeout(function () {
                    $.modal.close()
                },
                1200);
            },
            success: function (response) {
                $("div#wall").html(response);
                //$("div#wall").prepend("<span style='display:none'>"+message_wall+"</span>");
                //$("div#wall span").fadeIn();
            }
        });
        return false;
    });

});

这是用于生成html的php代码

<?php if(isset($_POST[ 'message_wall'])){ 
  /* Remove HTML tag to prevent query injection */ 

  $message=strip_tags($_POST[ 'message_wall']); 
  echo '<div class="container_date">
          <span style="float: left;"> 
            <p class="editme" id="200">Sex</p> 
          </span>
          <span style="float: right;" align="left"> 
            <a href="javascript:void(0)" id="200" class="delete">Delete</a>  
          </span>
          <br class="clearfloat">
        </div>'; 
} ?>

这是第一次在本网站发帖,对不起错误和我的英语

2 个答案:

答案 0 :(得分:1)

很难理解你想要什么,但它看起来像这样:

当document.ready事件触发时,您正在运行$('。editme')。editable()一次。 editable()在那个时候通过DOM,并使所有带有“editme”类的元素可以点击。

当您添加帖子并通过AJAX从PHP脚本获取响应时,响应包含一个带有“editme”类的P标记。但是,由于这是在document.ready触发后发生的,因此您需要在此新页面元素上再次运行editable() 以使其可单击。

答案 1 :(得分:0)

非常感谢,我现在真的很难理解剧本,但是我第一次在这里发帖,我不知道怎么问,你的答案对我有帮助,我又花了一次时间来重复编辑( )在PHP脚本内部,ajax的响应,并正在工作! ...再次感谢!