js改变checkbox的状态!!!

tang1114 2010-02-01 09:51:18
jsp代码:
<DIV id=c00>
<INPUT onclick=addPreItem() type=checkbox value=江苏 id=jsu>江苏
<INPUT onclick=addPreItem() type=checkbox value=上海 id=shai >上海
<INPUT onclick=addPreItem() type=checkbox value=浙江 id=zjiang >浙江
<INPUT onclick=addPreItem() type=checkbox value=福建 id=fjian>福建
<INPUT onclick=addPreItem() type=checkbox value=安徽 id=ahui>安徽
<INPUT onclick=addPreItem() type=checkbox value=江西 id=jxi>江西 </br></div>
js代码:
<%
String city=(String)request.getAttribute("allcity");
String arr[]=city.split(",");
for(int j = 0; j<arr.length; j++){
if(arr[j].equals("江苏")){
%>
document.getElementById('jsu').checked;
<%
}
}
%>
我现在是想:如果city中有江苏,上海的话,在页面上,这两个checkbox就为选中状态,其他不选中。现在怎么改变checkbox的状态,现在document.getElementById('jsu').checked无法改变的啊!请高手指教!!!!
...全文
826 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
tang1114 2010-02-01
  • 打赏
  • 举报
回复
问题以经解决,谢谢各位了!!!!
wanghailong0115 2010-02-01
  • 打赏
  • 举报
回复

<DIV id="c00">
<INPUT onclick="addPreItem()" type="checkbox" value="江苏" id="jsu">江苏
<INPUT onclick="addPreItem()" type="checkbox" value="上海" id="shai" >上海
<INPUT onclick="addPreItem()" type="checkbox" value="浙江" id="zjiang" >浙江
<INPUT onclick="addPreItem()" type="checkbox" value="福建" id="fjian">福建
<INPUT onclick="addPreItem()" type="checkbox" value="安徽" id="ahui">安徽
<INPUT onclick="addPreItem()" type="checkbox" value="江西" id="jxi">江西 <br/> </div>
<script type="text/javascript">
<%
String arr[]=new String[]{"江苏","上海","浙江"};
for(int j = 0; j <arr.length; j++){
if(arr[j].equals("江苏")){
%>
document.getElementById('jsu').checked=true;
<%
}
}
%>
</script>

lz可以用这个试试 把arr数组的换下就可以了
watermarkmms 2010-02-01
  • 打赏
  • 举报
回复
jsp代码:
<DIV id=c00>
<INPUT onclick=addPreItem() type=checkbox value=江苏 id=jsu>江苏
<INPUT onclick=addPreItem() type=checkbox value=上海 id=shai >上海
<INPUT onclick=addPreItem() type=checkbox value=浙江 id=zjiang >浙江
<INPUT onclick=addPreItem() type=checkbox value=福建 id=fjian>福建
<INPUT onclick=addPreItem() type=checkbox value=安徽 id=ahui>安徽
<INPUT onclick=addPreItem() type=checkbox value=江西 id=jxi>江西 </br> </div>
js代码:
<%
String city=(String)request.getAttribute("allcity");
String arr[]=city.split(",");
for(int j = 0; j <arr.length; j++){
if(arr[j].equals("江苏")){
%>
<script> //加js标签
document.getElementById('jsu').checked='checked';
</script>
<%
}
}
%>
如果还不行,你先alert(document.getElementById('jsu')),看看对象能不能获取到
wanghailong0115 2010-02-01
  • 打赏
  • 举报
回复
document.getElementById('jsu').checked=true;
车前猛跑 2010-02-01
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 tang1114 的回复:]
都试过了,不行啊,我把checkbox中的代码改为
<INPUT onclick=addPreItem() type=checkbox value=江苏 id=jsu checked=false>江苏 后,checkbox就为选中状态了,无论checkedk是true 还是false ,都是选中状态,这是为什么啊?

[/Quote]
在jsp中,checked属性的值应该是"checked"吧,不能用"true"和"false"吧。
如下:<INPUT onclick=addPreItem() type=checkbox value=江苏 id=jsu checked="checked">
再根据上面我叶的语句,改改你前面的程序,应该是没问题的。
有问题慢慢找,慢慢试,千万别着急。
shixitong 2010-02-01
  • 打赏
  • 举报
回复
如果取出来了,这个if(arr[j].equals("江苏"))是否又成立呢?
shixitong 2010-02-01
  • 打赏
  • 举报
回复
String arr[]=city.split(",");
arr[] 数组里有值吗?
我意思是说你数据取出来了吗?
tang1114 2010-02-01
  • 打赏
  • 举报
回复
都试过了,不行啊,我把checkbox中的代码改为
<INPUT onclick=addPreItem() type=checkbox value=江苏 id=jsu checked=false>江苏 后,checkbox就为选中状态了,无论checkedk是true 还是false ,都是选中状态,这是为什么啊?
扁鵲東南飛 2010-02-01
  • 打赏
  • 举报
回复
<script language="javascript">

function checkbox(){
var city=<%=(String)request.getAttribute("allcity")%>;
var arr[]=city.split(",");
for(var j = 0; j <arr.length; j++){
if(arr[j].equals("江苏")){
document.getElementById('jsu').checked=true;
}
}
}
</script>
<body onload="checkbox()">
</body>
试试吧

lstar66 2010-02-01
  • 打赏
  • 举报
回复
[Quote=引用楼主 tang1114 的回复:]
我现在是想:如果city中有江苏,上海的话,在页面上,这两个checkbox就为选中状态,其他不选中。
[/Quote]
试试下面这段代码:

<head>
<script language="JavaScript" type="text/javascript">
function addPreItem(){
var boxs=document.getElementsByName('boxs');
var flag1=document.getElementById('jsu').checked;
var flag2=document.getElementById('shai').checked;
if(flag1&&flag2){
for(var i=0;i<boxs.length;i++){
boxs[i].checked=false;
}
document.getElementById('jsu').checked=true;
document.getElementById('shai').checked=true;
}

}
</script>
</head>
<body>
<DIV id=c00>
<INPUT onclick=addPreItem() type=checkbox value=江苏 id=jsu name="boxs">江苏
<INPUT onclick=addPreItem() type=checkbox value=上海 id=shai name="boxs" >上海
<INPUT onclick=addPreItem() type=checkbox value=浙江 id=zjiang name="boxs" >浙江
<INPUT onclick=addPreItem() type=checkbox value=福建 id=fjian name="boxs">福建
<INPUT onclick=addPreItem() type=checkbox value=安徽 id=ahui name="boxs">安徽
<INPUT onclick=addPreItem() type=checkbox value=江西 id=jxi name="boxs">江西 </br>
</div>
</body>
hao1314 2010-02-01
  • 打赏
  • 举报
回复
checked还存在true与false。你设置true时就选中了。。
扁鵲東南飛 2010-02-01
  • 打赏
  • 举报
回复
<%
String city=(String)request.getAttribute("allcity");
String arr[]=city.split(",");
for(int j = 0; j <arr.length; j++){
if(arr[j].equals("江苏")){
%>
document.getElementById('jsu').checked = true;
<%
}
}
%>
tang1114 2010-02-01
  • 打赏
  • 举报
回复
楼上的几位,使用 document.getElementById('jsu').checked=true; 不行啊,我使用alert(document.getElementById('jsu').checked)后页面都没有弹出框!还有没有高手会的啊??
Saindy5828 2010-02-01
  • 打赏
  • 举报
回复
<%
String city=(String)request.getAttribute("allcity");
String arr[]=city.split(",");
for(int j = 0; j <arr.length; j++){
if(arr[j].equals("江苏")){
%>
document.getElementById('jsu').checked=true;
<%
}
}
kksss 2010-02-01
  • 打赏
  • 举报
回复
document.getElementById('jsu').checked =true;
feiyangdesky 2010-02-01
  • 打赏
  • 举报
回复
jf

81,092

社区成员

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

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