Javascript jquery获取上一个值而不是当前值

Javascript jquery获取上一个值而不是当前值,javascript,jquery,ajax,json,Javascript,Jquery,Ajax,Json,我无法通过jquery获取textarea的当前值。我有几个帖子,每个帖子都有“写评论”按钮。当我在第一篇文章的按钮上选择时,它会显示带有第一篇文章标题和文本区域的对话框。当我在出现的文本区域中写入内容并按submit时,它会提示nothing。然后我单击第一篇文章上的相同按钮,它会显示带有第二篇文章标题的对话框,当我在文本区域键入内容并按submit时,它会提醒我在上一个对话框中键入的文本。请你看一下我的密码,帮我找出错误 以下是我的看法: $data = array( 'name'

我无法通过jquery获取textarea的当前值。我有几个帖子,每个帖子都有“写评论”按钮。当我在第一篇文章的按钮上选择时,它会显示带有第一篇文章标题和文本区域的对话框。当我在出现的文本区域中写入内容并按submit时,它会提示nothing。然后我单击第一篇文章上的相同按钮,它会显示带有第二篇文章标题的对话框,当我在文本区域键入内容并按submit时,它会提醒我在上一个对话框中键入的文本。请你看一下我的密码,帮我找出错误

以下是我的看法:

$data = array(
    'name' => $places_id,
    'class' => 'review',    
    'content' => 'Write a Review'    
    );
   echo form_button($data);

<div id="write_review">
  <h3><?php echo $title; ?></h3>
  <textarea rows='6' cols='90' maxlength='600' id="review_text"></textarea>
  </div>

这是因为DOM中存在重复的对话框 至少你可以这样获得你的价值:

var review_text = $("#review_text", this).val(); //to prevent lookup in while DOM
但您最好控制对话框的副本(在关闭事件“关闭”时使用“销毁”):


谢谢你的帮助!现在它获取当前值并发布它,但是当我点击第二篇文章的“write review”按钮时,它会显示上一篇文章的对话框(标题和评论),即使我们在关闭时破坏了上一个对话框。
var review_text = $("#review_text", this).val(); //to prevent lookup in while DOM
$(".review").click(function () {
    var self = this;
    var places_id_review = $(self).attr("name");
    $("#write_review").dialog({
        title: "Write a Review",
        modal: true,
        draggable: false,
        width: 600,
        height: 300,
        close:function(){ $(this).dialog('destroy'); },  // DELETE dialog after close
        buttons: [{
            text: 'Submit',
            click: function () {
                $(this).dialog('close'); // do not forget close after submit
                var review_text = $("#review_text").val();
                alert(review_text);

                $.post('filter/post_review', {
                    places_id_review: places_id_review,
                    review_text: review_text
                }, function (data) {
                    alert("ok")

                }, "json");
            }
        }, {
            text: 'Cancel',
            click: function () {
                $(this).dialog('close');
            }
        }]
    });
});