我有一个input,后面有个输入按钮,想点击按钮跳出一个输入框,输入完成后显示在前面的input里面,
现在问题是输入完成后,每个input都有值,input是循环出来的ID都一样,请教各位高手有什么方法
<script type="text/javascript">
$(document).ready(function(){
  $('#abc').click(function(){
  name=prompt('备注修改','');
  $(".as").attr("value",name);  
  });
});
</script><?php foreach($members as $k=>$v) { ?>
<input type="test"  readonly  name="xname" class="as" size="20" value="<?php echo $v['test'];?>"/>&nbsp; 
<input type="button" value="输入" id="abc" ></input>
<?php }?>

解决方案 »

  1.   

    命名错了。一个页面中不允许出现重复ID.你可以用 previousSibling 取上个节点再赋值。
      

  2.   

    你这个需求完全没必要用php
    取上一个元素就用previousSibling
    或者给要改变的input设一个id=test
    只要再修发言这句话就好$("#test").attr("value",name); 
      

  3.   


    <!DOCTYPE HTML>
    <html>
    <head>
    <meta charset="gb2312" />
    <title></title>
    <script src="http://code.jquery.com/jquery-latest.js"></script>
    <style>

    </style>
    </head>
    <body>
    <input class="test" />
    <input class="test" />
    <input class="test" />
    <input class="test" />
    <button id="btn">click</button>
    <script>
    $('#btn').click(function(){
    $('.test').each(function(){
    var str = prompt('备注修改');
    if( str ){
    this.value = str;
    }
    })
    })
    </script>
    </body>
    </html>
    这个意思?
      

  4.   

    var arr111= new Array();
    $(":text").each(function(){
     arr11.push($(this).attr("id"));
    })
      

  5.   

    不好意思没说清楚,是每一个INPUT后面都有一个输入按钮,点后面的输入按钮就填写进前面的框里。