<input type="text" name="a" id="a">
<input type="text" name="a" id="a">
<input type="text" name="b" id="b">
<input type="text" name="b" id="b">
id为A的是一个数组,id为B的是一个数组
请问:怎样实现:改变id为a的第一个input时,id为b的第一个input值也变化,改变id为a的第二个input时,id为b的第二个input值也变化?

解决方案 »

  1.   

    id必须唯一,你可以直接用class属性代替id属性。
    <script type="text/javascript">
    $(document).ready( function() {
        $("input.a:eq(0)").keyup( function() { $("input.a:eq(1)").val($(this).val()); });
        $("input.b:eq(0)").keyup( function() { $("input.b:eq(1)").val($(this).val()); });
    });
    </script>
    <input type="text" name="a" class="a">
    <input type="text" name="a" class="a">
    <input type="text" name="b" class="b">
    <input type="text" name="b" class="b">
      

  2.   


    <input type="text" name="a" id="a1" onchange="upperCase(this.id);">
    <input type="text" name="a" id="a2" onchange="upperCase(this.id);>
    <input type="text" name="b" id="b1" onchange="upperCase(this.id);>
    <input type="text" name="b" id="b2" onchange="upperCase(this.id);>
      function upperCase(x){
       document.getElementById(x).onchange=function(e){
       if(this.id=="a1"){
        document.getElementById("b1").value=this.value;
       } 
       else if(this.id=="a2"){
        document.getElementById("b2").value=this.value;
        }
       }
      }
    楼主是这意思?
      

  3.   

    //或者直接用name=[value]选择器,这样class属性也可以省略。
    $(document).ready( function() {
        $('input[name="a"]:eq(0)').keyup( function() { $('input[name="a"]:eq(1)').val($(this).val()); }); 
        $('input[name="b"]:eq(0)').keyup( function() { $('input[name="b"]:eq(1)').val($(this).val()); }); 
    });
      

  4.   

    //禁止重复ID,class不要也可以<input type="text" name="a">
    ..........省略N个
    <input type="text" name="a">
    <input type="text" name="b">
    ..........省略N个
    <input type="text" name="b">
    <script type="text/javascript">
       $("input[name='a']").each(function(i){
            (function(n){
                $("input[name='a']").eq(n).keyup(function(){$("input[name='b']").eq(n).val($(this).val())});
                $("input[name='b']").eq(n).keyup(function(){$("input[name='a']").eq(n).val($(this).val())});
            })(i);
       });
    </script>
      

  5.   

    不好意思,看错了LZ的需求。4楼的朋友思路没错,搞反了绑定对象LZ若是只需要两个这样对应的值绑定,那下面的就可以
    $('input[name="a"]:eq(0)').keyup( function() { $('input[name="b"]:eq(0)').val($(this).val()); }); 
        $('input[name="a"]:eq(1)').keyup( function() { $('input[name="b"]:eq(1)').val($(this).val()); }); 但如果对象的数量不一定,可能有很多个,那建议你使用6楼朋友的,可以批量
      

  6.   

       function upperCase(x) {
                
                if (x.id == "a1") {
                    document.getElementById("b1").value = x.value;
                }
                else if (x.id == "a2") {
                    document.getElementById("b2").value = x.value;
                } 
            }   <input type="text" name="a" id="a1" onchange="upperCase(this);">
        <input type="text" name="a" id="a2" onchange="upperCase(this);">
        <input type="text" name="b" id="b1" onchange="upperCase(this);">
        <input type="text" name="b" id="b2" onchange="upperCase(this);">