嵌套jquery ajax调用问题

时间:2011-11-02 22:38:49

标签: jquery

我正在尝试使用嵌套的ajax调用,但它无法正常工作。在外部.get调用中,我从php文件中提取ISBN数据。这将用于填充名为“booklist”的html表。这个工作正常。内部.get调用应该验证ISBN,如果它返回有效,然后附加一个复选标记,但最后一部分不起作用。 在这段代码中,我假设变量“index”可以在内部.get中看到。这不是真的吗?

    $(document).ready(function()
    {   
        $("input#autofill").click(function()
        {
            $.get("last_year_ISBN.php",
                      function(data)
                      {
                          var elements = $('#booklist .ISBN_number');
                          $.each(data, 
                                function(index, obj)
                                {
                                    $(elements[index]).val(obj[16]);
                                    $.get("validate_isbn.php", 
                                        function(answer) 
                                        {
                                            if (answer == "valid")
                                            {
                                                $(elements[index]).append(" < img src = 'pics/green_checkmark.png' > ");
                                            }
                                        },
                                        "text");
                                })

                      },
                      "json");                                              


        });

        $("input#clearISBNs").click(function()
        {
            var elements=$('#booklist .ISBN_number');
            $.each(elements, 
                  function(index, value)
                  {
                    $(elements[index]).val("");
                  });
        });
    });

1 个答案:

答案 0 :(得分:0)

它不应该产生差异,但尝试在get调用之外创建函数作为变量...

function(index, obj){
  var ele = $(elements[index]).val(obj[16]);
  var func = function(answer){
    if (answer == "valid") {
      ele.append('<img src="pics/green_checkmark.png" />');
    }
  };
  $.get("validate_isbn.php", func, "text");
});