如何将动态创建的元素ID传递给onclick按钮上的javascript函数。

时间:2018-06-20 07:02:23

标签: javascript

这是一个系统,用户可以在其中发表评论,也可以编辑评论。当用户单击编辑按钮时,我正在使文本可编辑。 我只需要在我的代码中使用this.id的指南,就应该如何使用它,以便使其完美运行。在此处提供一些指导。 我正在尝试创建一个仅在登录用户登录发布评论时才启用编辑按钮的编辑评论系统,即我不能编辑他人的评论,这很明显。

下面是JavaScript代码

$(document).ready(function () {
    var post_id = $("#hid_post_id").val();
    var user_id = $("#user_id").val();
    $.ajax({
        url :"<?php echo site_url('home/commentsByPostId');?>" ,
        type : "POST" ,
        data : { post_id : post_id} ,
        success : function(data)
                {
                    var obj = JSON.parse(data);
                    console.log(obj);
                    var output = "";
                    var edit_btn ="";

                    $.each(obj , function(index , value)
                    {
                        output += '<div class="comnt"><p id="cmnt_txt'+i+'">"<i>'+value.cmnt_text+'"</i></p><br /><p><strong>Commented by : </strong><i>'+value.usr_name+'</i>&nbsp;&nbsp;<i>on</i> &nbsp;&nbsp;'+value.cmnt_date_time+'</p>';
                        if(value.cmnt_by_usr_id == user_id)
                        {
                            output+= '<button onclick="abc('+this.id+')">EDIT</button>'; // Here I need to pass the id "cmnt_txt which is concatenated by i to make it unique for each"
                        }
                        output += '</div>';
                    i++;
                    });         
                    $('#output_comment_box').html(output);
                }
});

/ *下面是函数abc

function abc(id) // Here I am making the comment editable
       {
            var n_id = id;
            var $div=$('#n_id'), isEditable=$div.is('.editable');
                 $('#n_id').prop('contenteditable',!isEditable).toggleClass('editable')
            }

0 个答案:

没有答案