<TABLE border=0 cellpadding=0>
 <TR>
    <TD rowspan=2><INPUT TYPE="text" id="inp" NAME="inp" value="0"></TD>
    <TD><INPUT TYPE="button" VALUE="+" style="height:10px; width:20px; border:1px solid gray" ONCLICK="test(1)"></TD>
 </TR>
 <TR>
    <TD><INPUT TYPE="button" VALUE="-" style="height:10px; width:20px; border:1px solid gray" ONCLICK="test(-1)"></TD>
 </TR>
 </TABLE>
  <SCRIPT LANGUAGE="JavaScript">
  <!--
    function test(cha){
        var obj = document.getElementById("inp");
        if (cha<0 && parseInt(obj.value,10) == 0) return;
        obj.value = parseInt(obj.value,10) + cha;
    }
  //-->
  </SCRIPT>
循环输出<table>的内容,javascript怎么修改可以使一个文本框对应那两个button???我现在的问题是循环之后无论点击哪里都只能对一个文本框进行加减!!!!

解决方案 »

  1.   

    你本来就只有1个input:text啊,当然只能对其进行加减了。
    不明白你的问题在哪里。。
      

  2.   


    <TABLE border=0 cellpadding=0>
     <TR>
      <TD rowspan=2><INPUT TYPE="text" id="inp" NAME="inp" value="0"></TD>
      <TD><INPUT TYPE="button" VALUE="+" style="height:10px; width:20px; border:1px solid gray" ONCLICK="test(this, 1)"></TD>
     </TR>
     <TR>
      <TD><INPUT TYPE="button" VALUE="-" style="height:10px; width:20px; border:1px solid gray" ONCLICK="test(this, -1)"></TD>
     </TR>
     </TABLE>
      <SCRIPT LANGUAGE="JavaScript">
      <!--
      function test(btn, cha){
      var obj = btn.parentNode.parentNode.parentNode.getElementsByTagName("input")[0];
      if (cha<0 && parseInt(obj.value,10) == 0) return;
      obj.value = parseInt(obj.value,10) + cha;
      }
      //-->
      </SCRIPT>
      

  3.   

    看着这代码真亲切呀  <style>
    .btn {height:10px; width:20px; border:1px solid gray; font-size:7px;}
     </style>
    <TABLE border=0 cellpadding=0>
     <TR>
      <TD rowspan=2><INPUT TYPE="text" id="inp" NAME="inp" value="0"></TD>
      <TD><INPUT TYPE="button" VALUE="+" class="btn" ONCLICK="test(this,1)"></TD>
     </TR>
     <TR>
      <TD><INPUT TYPE="button" VALUE="-" class="btn" ONCLICK="test(this,-1)"></TD>
     </TR>
     </TABLE>
    <TABLE border=0 cellpadding=0>
     <TR>
      <TD rowspan=2><INPUT TYPE="text" id="inp" NAME="inp" value="0"></TD>
      <TD><INPUT TYPE="button" VALUE="+" class="btn" ONCLICK="test(this,1)"></TD>
     </TR>
     <TR>
      <TD><INPUT TYPE="button" VALUE="-" class="btn" ONCLICK="test(this,-1)"></TD>
     </TR>
     </TABLE>
      <SCRIPT LANGUAGE="JavaScript">
      <!--
      function test(btnObj, cha){
      var obj = btnObj.parentElement.parentElement.parentElement.firstChild.firstChild.firstChild;
      //TD.TR.TBODY.firstTR.firstTD.INPUT
      if (cha<0 && parseInt(obj.value,10) == 0) return;
      obj.value = parseInt(obj.value,10) + cha;
      }
      //-->
      </SCRIPT>
      

  4.   

      <SCRIPT LANGUAGE="JavaScript">
      <!--
      function test(cha){
      var obj = document.getElementsByName("inp");
      for(i=0;i<obj.length;i++){
      if (cha<0 && parseInt(obj[i].value,10) == 0) return;
      obj[i].value = parseInt(obj[i].value,10) + cha;}
      }
      //-->
      </SCRIPT>
    JS改成这样 貌似IE可以执行 不知道其他浏览器怎么样.
      

  5.   


    <%for i=1 to n%>
    <TABLE border=0 cellpadding=0>
     <TR>
      <TD rowspan=2><INPUT TYPE="text" id="inp" NAME="inp_"<%=i%> value="0"></TD>
      <TD><INPUT TYPE="button" VALUE="+" style="height:10px; width:20px; border:1px solid gray" ONCLICK="test(<%=i%>,1)"></TD>
     </TR>
     <TR>
      <TD><INPUT TYPE="button" VALUE="-" style="height:10px; width:20px; border:1px solid gray" ONCLICK="test(<%=i%>,-1)"></TD>
     </TR>
     </TABLE>
    <%next%>
      <SCRIPT LANGUAGE="JavaScript">
      <!--
      function test(id,cha){
      var obj = document.getElementById("inp_"+id);
      if (cha<0 && parseInt(obj.value,10) == 0) return;
      obj.value = parseInt(obj.value,10) + cha;
      }
      //-->
      </SCRIPT>  说明,在循环中加上一个参数,代表第几次,设置文本框id.n为循环总次数
      例子用asp模式
      

  6.   

    NAME="inp_<%=i%>"细节出错了
      

  7.   

    用的jQuery,对你的代码做了点调整,你看看是不是你要的效果。
    <script src="http://i2.msdn.microsoft.com/Platform/cjs/jquery-1.2.6-bn20100413.js" type="text/javascript"></script>
    <style type="text/css">
    .td{width:20px;height:20px;}
    .btn{height:10px; width:20px; border:1px solid gray;font-size:8px;}
    </style>
      <TABLE border=1 cellpadding=0>
     <TR>
      <TD><INPUT TYPE="text" id="inp" NAME="inp" value="0"></TD>
      <TD class="td"><INPUT TYPE="button" VALUE="+" class="btn" ONCLICK="test(1,this)"><INPUT TYPE="button" VALUE="-" class="btn" ONCLICK="test(-1,this)"></TD>
     </TR> <TR>
      <TD><INPUT TYPE="text" id="inp" NAME="inp" value="0"></TD>
      <TD class="td"><INPUT TYPE="button" VALUE="+" class="btn" ONCLICK="test(1,this)"><INPUT TYPE="button" VALUE="-" class="btn" ONCLICK="test(-1,this)"></TD>
     </TR>  <TR>
      <TD><INPUT TYPE="text" id="inp" NAME="inp" value="0"></TD>
      <TD class="td"><INPUT TYPE="button" VALUE="+" class="btn" ONCLICK="test(1,this)"><INPUT TYPE="button" VALUE="-" class="btn" ONCLICK="test(-1,this)"></TD>
     </TR>  <TR>
      <TD><INPUT TYPE="text" id="inp" NAME="inp" value="0"></TD>
      <TD class="td"><INPUT TYPE="button" VALUE="+" class="btn" ONCLICK="test(1,this)"><INPUT TYPE="button" VALUE="-" class="btn" ONCLICK="test(-1,this)"></TD>
     </TR> <TR>
      <TD><INPUT TYPE="text" id="inp" NAME="inp" value="0"></TD>
      <TD class="td"><INPUT TYPE="button" VALUE="+" class="btn" ONCLICK="test(1,this)"><INPUT TYPE="button" VALUE="-" class="btn" ONCLICK="test(-1,this)"></TD>
     </TR>
     </TABLE>
      <SCRIPT LANGUAGE="JavaScript">
      <!--
      function test(cha,obj){
      var txt=$(obj).parent().parent().find("input[name=inp]");
      if (cha<0 && parseInt(txt.val(),10) == 0) return;
      txt.val( parseInt(txt.val(),10) + cha);
      }
      //-->
      </SCRIPT>
      

  8.   


    <script src="http://i2.msdn.microsoft.com/Platform/cjs/jquery-1.2.6-bn20100413.js" type="text/javascript"></script>
    <style type="text/css">
    .td{width:20px;height:20px;}
    .btn{height:10px; width:20px; border:1px solid gray;font-size:8px;}
    </style>
      <TABLE border=1 cellpadding=0>
     <TR>
      <TD><INPUT TYPE="text" id="inp" NAME="inp" value="0"></TD>
      <TD class="td"><INPUT TYPE="button" VALUE="+" class="btn" ONCLICK="test(1,this)"><INPUT TYPE="button" VALUE="-" class="btn" ONCLICK="test(-1,this)"></TD>
     </TR> <TR>
      <TD><INPUT TYPE="text" id="inp" NAME="inp" value="0"></TD>
      <TD class="td"><INPUT TYPE="button" VALUE="+" class="btn" ONCLICK="test(1,this)"><INPUT TYPE="button" VALUE="-" class="btn" ONCLICK="test(-1,this)"></TD>
     </TR>  <TR>
      <TD><INPUT TYPE="text" id="inp" NAME="inp" value="0"></TD>
      <TD class="td"><INPUT TYPE="button" VALUE="+" class="btn" ONCLICK="test(1,this)"><INPUT TYPE="button" VALUE="-" class="btn" ONCLICK="test(-1,this)"></TD>
     </TR>  <TR>
      <TD><INPUT TYPE="text" id="inp" NAME="inp" value="0"></TD>
      <TD class="td"><INPUT TYPE="button" VALUE="+" class="btn" ONCLICK="test(1,this)"><INPUT TYPE="button" VALUE="-" class="btn" ONCLICK="test(-1,this)"></TD>
     </TR> <TR>
      <TD><INPUT TYPE="text" id="inp" NAME="inp" value="0"></TD>
      <TD class="td"><INPUT TYPE="button" VALUE="+" class="btn" ONCLICK="test(1,this)"><INPUT TYPE="button" VALUE="-" class="btn" ONCLICK="test(-1,this)"></TD>
     </TR>
     </TABLE>
      <SCRIPT LANGUAGE="JavaScript">
      <!--
      function test(cha,obj){
      var txt=$(obj).parent().parent().find("input[name=inp]");
      if (cha<0 && parseInt(txt.val(),10) == 0) return;
      txt.val( parseInt(txt.val(),10) + cha);
      }
      //-->
      </SCRIPT>
      

  9.   

    晕了~~~~~~~一放到asp中就不行了!!!那位高手进来帮帮忙
      

  10.   

    LZ请仔细看代码哟,不光是js部分,HTML部分也有改动
    加了一个参数,不然无法判断哪个input跟自己是一伙儿的