将div的特定实例中的文本添加到textarea

时间:2014-08-04 15:07:47

标签: javascript jquery

因此,当用户点击编辑链接时,我会尝试将某些文字添加到文本区域。用户将单击编辑链接,然后将显示一个带有textarea的弹出框,向用户显示其当前评论。

将会有多个.comment-block的实例,其中包含各种不同的文本,因为此文本将是用户输入注释。我想根据点击的.text链接,从特定的.comment-block获取.edit文字。因此,如果一个注释块具有" hello"的文本。另一个是" world"的文字,我想要采取"你好"或者"世界"并将其放在textarea中,具体取决于在父注释块中单击的编辑链接。

希望这是有道理的。

<div class="comment-block">
    <div class="row">
        <div class="col-xs-1">
            <img src="/graphics/blank-avatar.jpg">
        </div>
        <div class="col-xs-11">
            <p>
                <span class="name">David Johnson</span>
                <span class="text">Nice selection of images! Well done!</span>
                <span class="edit">Edit</span>
            </p>
            <div class="date-posted">
                Posted at 14:10 on 23rd September 2014
            </div><!-- .date-posted -->
        </div><!-- .col-xs-10 -->
    </div><!-- .row -->
</div><!-- .comment-block -->

JS

$("span.edit").click(function() {
    //Get the text
    var text = $.trim($(".comment-block p span.text").text())

    //Create a text area selector (container, rather)
    var textarea = $("#community-message-alt");

    //Give the textarea a value
    $("textarea", textarea).val(text);

    textarea.show();
});

2 个答案:

答案 0 :(得分:1)

这样的东西?

$(".edit").click(function(){
    var text = $(this).parent().find(".text").first().html();
    $("#ta1").html(text);
});

DEMO FIDDLE

答案 1 :(得分:0)

您可以这样做:

$(".edit").click(function(){
    var text = $(this).prev(".text").text();
    var textarea = $("#community-message-alt");
    textarea.text(text);
    textarea.show();
});