<div id="sign_up_item"><input name="sign_up[]" type="text" /><span></span></div><div id="sign_up_item"><input name="sign_up[]" type="text" /><span></span></div><div id="sign_up_item"><input name="sign_up[]" type="text" /><span></span></div>html代码如上,jq如下
$('#sign_up_item input').change(function(){
$(this).next().html("test");
})我是想对每个输入框值改变后ajax处理返回数据显示在旁边的span里面,但是刚学jq,不知道怎么写才能选择到当前输入框旁边的span.请问下谁帮个忙看看怎么改。

解决方案 »

  1.   

    比如说我在第一个input框里面输入一个号码,然后change事件ajax把号码送给后台处理,得到号码对应的名字,然后把名字显示在旁边的span里面。但是那样写不行。
    如果我这么写$('#sign_up_item input').next().html("test")的话,返回的名字就会把三个span的内容都写上返回的名字了。我只需要改变的那个输入框旁边的span显示
      

  2.   

    试一下$('#sign_up_item input').nextAll().eq(0).html("test")
      

  3.   

    你用this是对的
    你把整个代码发出来我看看
      

  4.   

    $('#sign_up_item input').nextAll().eq(0).html("test")
    这个可以,但是只能在第一个span显示,如果我改变第二个输入框,返回的值不能在第二个输入框旁边的span显示,只能在第一个输入框旁边的span显示
      

  5.   

    $('#sign_up_item input').change(function(){
    var v = $(this).val();
    $.ajax({
    type:"post",
    dataType:"text",
    data:"school_num=" + v,
    url:baseurl + "/ajax/getUserName/",
    success:function(data){
    $('#sign_up_item input').nextAll().eq(0).html(data)
    }
    })
    })
    ###############
    html部分为<div id="sign">
    <form action="" method="post"><div id="sign_up_item"><input name="sign_up[]" type="text" /><span></span></div><div id="sign_up_item"><input name="sign_up[]" type="text" /><span></span></div><div id="sign_up_item"><input name="sign_up[]" type="text" /><span></span></div></form></div>
      

  6.   

    $('#sign_up_item input').change(function(){
    var that = $(this);
    var v = $(this).val();
    $.ajax({
    type:"post",
    dataType:"text",
    data:"school_num=" + v,
    url:baseurl + "/ajax/getUserName/",
    success:function(data){
    that.next().html(data)
    }
    })
    })
      

  7.   

    呃,,,,行了,为什么直接用$(this)不行?
      

  8.   

    this是当前 你回调了 this的意义就变了