jquery - Ajax jQuery,初学者问题

标签 jquery ajax

我正在尝试进行 ajax 调用来获取 session 数据,以便在页面加载后将其插入到我的页面中

jQuery(function(){ // Add Answer

  jQuery(".add_answer").livequery('click',function(){
    var count = $(this).attr("alt");
    count++;
    var count1 = count-1;

    $.get('quiz/select', function(p_type){  // Ajax Call for Select Data

      $(this).parents('div:first').find('.a_type_'+count1+'').after('' + p_type + '');
      $(this).attr("alt", count);

    });
  });
});

我正在调用的文件已找到,但“p_type”未打印出其内容 并且函数的 $(this).attr("alt", count); 部分未执行

注意:我的框架使用 CodeIgniter,js 使用 jquery

最佳答案

我相信您的问题与 $(this) 的范围有关。因为你已经将 ajax get 函数嵌套在你的 livequery 函数中,在另一个匿名函数中,我愿意打赌 $(this) 现在引用你的 $.get() 调用或其他东西。

当您知道 $(this) 选择了正确的对象时,您需要尽快缓存它:

jQuery(".add_answer").livequery('click',function()
{
    var add_answer = $(this);

    $.get(...)
    {
        add_answer.parents('div:first')...
    }
}

上面的代码应该缓存add_answer元素,但是我的livequery知识有点生疏。

关于您的代码的一些建议:

  • 与 jQuery() 或 $() 快捷方式的使用保持一致,它们做同样的事情。
  • 整个代码片段周围的匿名函数是怎么回事?这只是一个简单的例子吗?它可能应该替换为 $(document).ready(function { ... });

关于jquery - Ajax jQuery,初学者问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/395759/

相关文章:

javascript - AJAX/JS/PHP : How to replace text in file sent to PHP file, 并传递成功属性?

java - 如何从重定向读取 JSF 中的 GET 请求参数

javascript - 应该插入的动态类未插入

javascript - 阻止聊天消息从 MySQL 服务器发送后在浏览器中执行脚本?

javascript - 找出是什么让一个元素成为焦点

jquery - 有条件无事件

javascript - ASP.NET MVC 3 - Ajax 更新表 - 模型

javascript - 将 HTTP header 添加到 Wicket Ajax 请求

javascript - 程序化 Dojox uploader - ajax 上传不工作

javascript - 如何使用 jquery 获取每英寸像素数