大家可直接复制我代码到php文件里面  测试一下!    意思就是: 我用js生成了一个html 文本框,id值是nam! 拿jquery获取不到这个id   但是我在本来页面也写了一个文本框,id值是ad, 拿同样的jquery 就能获取到!   这是为什么? 我用什么办法可以获取到这个id='nam' 的id?
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script type="text/javascript" src="../js/jquery-1.6.1.min.js"></script><body>
 <div id="d"></div>
<input type="button" id="b"  value="添加出库单" onClick="add()"/>
<input type="text" name="ad"  id="ad" /></body>
</html>
<script language="javascript">
//添加模块
var ii = 1;
function add(){//执行块添加
dv=document.createElement("div"); 
dv.id="div_"+ii;tab=document.createElement("div");
tab.innerHTML='<table bgcolor="#E6F3DE" ><tr><td>货物名称:</td><td colspan="2"><input type="text" id="nam" size="15" /></td></tr></table>'
dv.appendChild(tab);delbtn=document.createElement("input");
delbtn.type="button";
delbtn.value="删除该出库单";
delbtn.onclick=del;dv.appendChild(delbtn);document.getElementById("d").appendChild(dv);ii = ii + 1;
}
//删除添加的块
function del(){ document.getElementById("d").removeChild(this.parentNode);
 ii=ii-1;}//获取 js 添加的框的id,获取不到
$(function(){
$("#nam").bind("blur",function()
{
alert('msg');
})
})//获取原本的input的id  可以获取到!
$(function(){
$("#ad").bind("blur",function()
{
alert('msg');
})
})</script>

解决方案 »

  1.   

    //setTimeout 一下,或者用blur这个方法
    $(function(){
        $("#nam").bind("blur",function()
            {        
            alert('msg');
            })
    })//获取原本的input的id  可以获取到!
    $(function(){
        $("#ad").bind("blur",function()
            {        
            alert('msg');
            })
    })
      

  2.   

    这是 js 问题,不是 php 问题!
    请到 javascript 版面求解,在这里不想多说!不过需要提醒的是 你的 id=nam 是动态产生的,势必会出现多个同名id的情况,这是不允许的
      

  3.   

    setTimeout 一下,或者用blur这个方法
    这个怎么弄?具体一下,我对这些还不是很懂! 谢谢了!
      

  4.   

    setTimeout(function(){//刚才那些邦定代码},10);
    如果还不行,打印$("#nam")或consle.log()  不管什么程序要学会调试就好办了,,问题都能解决的,,
      

  5.   

    你用JS添加的NAM是在点击按钮后才执行那个add()得以添加的。而你的JQ语句,是页面一加载时就去取NAM的,此时还没有执行add()去真正添加,当然取不到。
      

  6.   

    bind 改成 live
    可以参考jquery手册具体区别
    $("#nam").live("blur",function()
    {        
            alert('msg');
    })