<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???我现在的问题是循环之后无论点击哪里都只能对一个文本框进行加减!!!!
<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???我现在的问题是循环之后无论点击哪里都只能对一个文本框进行加减!!!!
不明白你的问题在哪里。。
<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>
.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>
<!--
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可以执行 不知道其他浏览器怎么样.
<%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模式
<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>
<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>
加了一个参数,不然无法判断哪个input跟自己是一伙儿的