2011-11-02 73 views
1

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

$(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(""); 
        }); 
     }); 
    }); 
+0

应该是可见......在外部范围的任何shoudl是内可见FUNC。我想知道是否它的'<'和'img'之间的空间是问题 - 您是否尝试调整该标记,或者您确定像这样的标记在别处工作? – prodigitalson

+0

不,这没有什么区别。无论如何,该代码应该已经显示在源代码中,一旦我点击了按钮,但它没有... – user1015214

+0

由于某种原因,它不会进入函数(答案)(当在萤火虫中测试...这是为什么? – user1015214

回答

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"); 
});