在JQuery中创建一些东西

时间:2011-07-17 01:50:57

标签: jquery

我的文件准备就绪:

$(document).ready(function () {       
    showAll();
    var av= $('#a').attr('value');
alert(av);                              <-----**Debugging Value**
    if(av == 1) { 
         alert("1")  
     } else {
         alert("0")
     }
 });

showAll()函数调用PHP并直接生成隐藏的输入。

<input type='hidden' value='///automatically generated 1 or 0///'>

我现在的问题是当我在调试值警告av时,它是未定义的。我知道这是因为该部分不是现场的。如何自动生成该部分。 如果我使用直播('点击'等等....)那么这是有效的,但我试图根据条件加载它。

感谢您的帮助。

编辑:///

我的showProf看起来像这样:

xmlhttp.onreadystatechange=function()         {
      if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {
        document.getElementById("id_verified").innerHTML=xmlhttp.responseText;
        }
      }

xmlhttp.open("GET","showProf.php?i="+myi+"&t=" + Math.random(),true);
xmlhttp.send();

2 个答案:

答案 0 :(得分:2)

您可以通过ajax调用进行回调,例如

$.ajax({
  url: 'ajax/test.html',
  success: function(data) {
    $('.result').html(data);
    alert('Load was performed.');
  }
});

来自http://api.jquery.com/jQuery.ajax/

答案 1 :(得分:1)

如果showAll正在进行异步ajax调用(我假设它是因为你说它是一个PHP调用),那么ajax调用可能还没有完成。对于异步ajax调用,您必须挂钩完成回调并在完成回调函数的ajax调用之后执行任何工作。

调用ajax调用只是启动调用,然后在ajax调用运行时继续执行javascript。这意味着你的调试语句正好在ajax调用开始之后发生,而不是在它完成之后发生。