<table width="200" border="1">
  <tr>
    <td>
      <select name="s" id="s">
        <option value="1">1</option>
        <option value="2">2</option>
      </select>
    </td>
    <td>&nbsp;</td>
    <td><input type="text" name="v" id="v" /></td>
  </tr>
  <tr>
    <td>
    <select name="s" id="s">
        <option value="1">1</option>
        <option value="2">2</option>
      </select>
    </td>
    <td>&nbsp;</td>
    <td><input type="text" name="v" id="v" /></td>
  </tr>
  <tr>
    <td>
    <select name="s" id="s">
        <option value="1">1</option>
        <option value="2">2</option>
      </select>
    </td>
    <td>&nbsp;</td>
    <td><input type="text" name="v" id="v" /></td>
  </tr>
</table>文本框的ID是相同的

解决方案 »

  1.   

    哥们,我提醒你下,一个html里不允许有相同的ID的,否则的话会出问题的~
      

  2.   

    window.onload = function() {
       var selects = document.getElementsByTagName("select");
       for(var i = 0; i < selects.length; i++) { 
          selects[i].onchange = function() {
             var t = this.parentNode.nextSibling.nextSibling.childNodes;
             for(var j = 0; j < t.length; j++) {
                 if(t[j].nodeType == 1) {
                    t[j].value = this.value;
                 }
             }
          };
       }
    };
      

  3.   


    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Insert title here</title>
    <script  type="text/javascript">
    function myChange(obj)
    {
    obj.parentNode.parentNode.childNodes[2].childNodes[0].value=obj.value;
    }
    </script>
    </head>
    <body><table width="200" border="1"> <tr> <td> <select name="s" id="s" onchange="myChange(this);"> <option value="1">1</option> <option value="2">2</option> </select> </td> <td>&nbsp;</td> <td><input type="text" name="v" id="v" /></td> </tr> <tr> <td> <select name="s" id="s" onchange="myChange(this);"> <option value="1">1</option> <option value="2">2</option> </select> </td> <td>&nbsp;</td> <td><input type="text" name="v" id="v" /></td> </tr> <tr> <td> <select name="s" id="s" onchange="myChange(this);"> <option value="1">1</option> <option value="2">2</option> </select> </td> <td>&nbsp;</td> <td><input type="text" name="v" id="v" /></td> </tr> </table></body>
    </html>
      

  4.   


    <table width="200" border="1">
      <tr>
        <td>
          <select name="s" id="s">
            <option value="1">1</option>
            <option value="2">2</option>
          </select>
        </td>
        <td>&nbsp;</td>
        <td><input type="text" name="v" id="v" /></td>
      </tr>
      <tr>
        <td>
        <select name="s" id="s">
            <option value="1">1</option>
            <option value="2">2</option>
          </select>
        </td>
        <td>&nbsp;</td>
        <td><input type="text" name="v" id="v" /></td>
      </tr>
      <tr>
        <td>
        <select name="s" id="s">
            <option value="1">1</option>
            <option value="2">2</option>
          </select>
        </td>
        <td>&nbsp;</td>
        <td><input type="text" name="v" id="v" /></td>
      </tr>
    </table>
    <script>
    var sels = document.getElementsByTagName('select'),
    inps = document.getElementsByTagName('input');
    for(var i=0,j=sels.length;i<j;i++){
    sels[i].onchange = (function(i){
    return function(){
    inps[i].value = this.value;
    }
    })(i)
    }
    </script>
      

  5.   

    id的名字一样,会报错的!你这样给id取名 id1 id2 id3  要用的时候 for循环document.getElement(id+ i) 
      

  6.   

    楼主,html里ID是必选是唯一的,不是你说必须相同就能相同的,name可以相同,但ID必须唯一
    <html>
    <head>
    <script type="text/javascript">
    function changeSelect(s) {
    var tr = s.parentNode.parentNode;
    var v = tr.getElementsByTagName("input")[0];
    v.innerText = s.value;
    }
    </script>
    </head>
    <body>
    <table width="200" border="1">
      <tr>
        <td>
          <select name="s" id="s" onchange="changeSelect(this)">
            <option value="1">1</option>
            <option value="2">2</option>
          </select>
        </td>
        <td>&nbsp;</td>
        <td><input type="text" name="v"/></td>
      </tr>
      <tr>
        <td>
        <select name="s" id="s" onchange="changeSelect(this)">
            <option value="1">1</option>
            <option value="2">2</option>
          </select>
        </td>
        <td>&nbsp;</td>
        <td><input type="text" name="v"/></td>
      </tr>
      <tr>
        <td>
        <select name="s" id="s" onchange="changeSelect(this)">
            <option value="1">1</option>
            <option value="2">2</option>
          </select>
        </td>
        <td>&nbsp;</td>
        <td><input type="text" name="v"/></td>
      </tr>
    </table>
    </body>
    </html>
      

  7.   

    <table width="200" border="1">
      <tr>
        <td>
          <select name="s" id="s" onchange="g(this);">
            <option value="1">1</option>
            <option value="2">2</option>
          </select>
        </td>
        <td>&nbsp;</td>
        <td><input type="text" name="v" id="v" /></td>
      </tr>
      <tr>
        <td>
        <select name="s" id="s" onchange="g(this);">
            <option value="1">1</option>
            <option value="2">2</option>
          </select>
        </td>
        <td>&nbsp;</td>
        <td><input type="text" name="v" id="v" /></td>
      </tr>
      <tr>
        <td>
        <select name="s" id="s" onchange="g(this);">
            <option value="1">1</option>
            <option value="2">2</option>
          </select>
        </td>
        <td>&nbsp;</td>
        <td><input type="text" name="v" id="v" /></td>
      </tr>
    </table>
    <script>
    function g(o){
       (o.parentNode.parentNode.lastChild.nodeType == 1 ? o.parentNode.parentNode.lastChild : o.parentNode.parentNode.lastChild.previousSibling).firstChild.value = o.value;
    }
    </script>