-1

我正在页面中加载一个模式,然后用户可以与之交互。

var global_id=$(this).data('global-id');
var other_global_id=$(this).data('other-global-id');
var comment=$('#pairing-comment').val();  // <- this is not working!!!

但我不确定如何正确访问它。我已经尝试过确定它的范围,但也许这无法完成,尽管我认为它可以。这是控制台:

在此处输入图像描述

所以这是为了响应用户事件而发生的,所以它肯定会在以后发生。

$(document).on('click','#comment-submit', function(){
    arc_eh.event_handler.submit_pairing_comment.call(this);
  });
4

2 回答 2

1

这与范围无关,而是与当您尝试分配变量时,$('#pairing-comment')元素还没有值的事实有关。

您应该在 AJAX 调用的成功函数中分配该变量,以确保该值已准备就绪。

于 2013-08-15T20:34:53.800 回答
0

只有在 AJAX 请求成功完成后才能访问它。在单击事件之后执行此操作是不够的,因为到那时它可能还没有加载。例子:

$.ajax({
            type: 'POST',
            url: '',
            data: {},
            dataType: 'json',
            success: function(data) {

                // Access it here!
            },
            error: function() {}
        });
于 2013-08-15T20:36:14.943 回答