关于checkbox的传值的问题.

tidelgl 2008-12-20 12:40:01
是这样,我是想在提交时调用JS方法test()把所有与<input name="priceOrder" readonly="true".....>同一行的<input type="hidden" name="hPriceShow"...>给disabled掉,
这样就可以在servlet里正确的得到我想要的确值了.我已经写了JS方法实现当checkbox勾选上时input type="hidden" name="hPriceShow" 的value="yes"


JSP
			<form name="listName" method="post" action="../servlet/MRoutePrice">
<%
int showCount = 0; //帮助设置前台显示的值
java.sql.ResultSet rsData = pageBr.getResult();
int n = pageBr.rowPage * (pageBr.curPage - 1) + 1; //序号
if (pageBr.totalPage != 0) {
while (rsData.next()) {
%>
<table width="100%" class="list">
<tr align="left">
<th colspan="2" scope="col">
第<%=n++%>项
</tr>
<%
java.sql.ResultSet rsRPData = data
.getRs("select * from routeprice where BasicRoute_Id='"
+ rsData.getString("BasicRoute_Id")
+ "'");
while (rsRPData.next()) {
%>
<tr>
<td width="9%">
<input name="priceOrder" type="text" id="<%=n - 1%>"
style="width: 100%;" title="勾选修改后可编辑更新"
value="<%=rsRPData.getString("RoutePrice_Order")%>" size="8"
readonly="true">
</td>
<td width="13%">
<label>
<input type="checkbox" name="priceShow" id="<%=showCount++%>" <%if(rsRPData.getString("RoutePrice_Show").equals("yes")){out.print("checked"); }%> onClick="setBoxValue(<%=showCount-1%>)">
</label>
<input type="hidden" name="hPriceShow" id="<%=showCount-1%>" <%if(rsRPData.getString("RoutePrice_Show").equals("yes")){out.print("value='yes'"); } else if(rsRPData.getString("RoutePrice_Show").equals("no")){out.print("value='no'");}%>>
</td>
</tr>
<%
}
rsRPData.close();
}
rsData.close();
}
%>
</table>
</form>


javascript

funtion test(){
//决定隐藏域是否被disabled
for (var i = 0; i < obj.length; i++) {
if (obj[i].type == "text" && obj[i].name=="priceOrder") {
if(obj[i].readOnly==true){
disHidden(obj[i].id);
}
}
}
}
function disHidden(idName){
var obj = document.getElementsByTagName("input");
for(var i=0;i<obj.length;i++){
if(obj[i].type == "hidden" && obj[i].id == idName&& obj[i].name=="hPriceShow"){
obj[i].disabled=true;
}
}
}


...全文
82 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
tidelgl 2008-12-21
  • 打赏
  • 举报
回复
已经自己解决啦,谢谢各位..
toury 2008-12-20
  • 打赏
  • 举报
回复
<script>
function test(o){
var blnDisabled=o.checked;
var num=o.id.match(/\d+/g)//取点击行的行号
document.getElementById("h"+num).disabled=o.checked;
document.getElementById("t"+num).disabled=o.checked;
}
</script>
<table>
<tr>
<td><input type=checkbox id=chk1 onclick="test(this);"></td>
<td><input type=text id=t1 value=test1></td>
<td><input type=hidden id=h1></td>
</tr>
<tr>
<td><input type=checkbox id=chk2 onclick="test(this);"></td>
<td><input type=text id=t2 value=test2></td>
<td><input type=hidden id=h2></td>
</tr>

</table>
neo_yoho 2008-12-20
  • 打赏
  • 举报
回复
那一个帖回了。。

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧