多行注释问题jquery

时间:2010-05-08 09:11:51

标签: jquery

我正在网站上制作一个包含大量图片的图片网站,并且在每张图片下面都有可能对图片进行评论,然后在没有页面加载和评论内容的情况下显示评论,问题就在于我有由于我的评论框css溢出被隐藏,因此长评论会打破他们未显示的当前行。这是一个例子:

  

这是评论 - 显示   正确
这是一个评论这是一个   评论这是一个评论 - 这是   没有正确显示

因为它破线了。这是jQuery代码:

$.ajax({
    type: "POST",
    url: "<?=base_url()?>imagesform/post_comment",
    data: datas,
    success: function () {
        $("#image-comments-" + image_id).attr("class", "comments");
        $("#image-comments-" + image_id).append("<li id=\"new_append_" + image_id+ "\">" + $("#image").find(".comment").val() + "</li>").children(':last').height($('.comments li:last').height()).hide().slideDown(500, function () {
            var bodyHeight = $('html').height();
            $('.addComment').fadeOut(300, function () {
                $('html').height(bodyHeight);
            });
        });
        alert($("#image").find(".comment").val());
    }

});

这里$("#image").find(".comment").val()是输入注释的文本区域的值,当我提醒它时,整个多行输入是没有正确地附加到li,这是我的一部分混淆,任何建议为什么只附加部分输入的字符串?

2 个答案:

答案 0 :(得分:2)

这就是答案,由于某种原因,高度被搞砸了:

$("#image-comments-" + image_id).append("<li id=\"new_append_" + image_id+ "\" style=\"height:auto !important;\">"

为新创建的li

添加了height:auto !important; css属性

答案 1 :(得分:0)

在我看来,您想要用<br>替换换行符,以便通过HTML显示它们。

alert($("#image").find(".comment").val().replace('\n', '<br>'));