<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<script Language="javascript">
function checkedThis(obj){
var boxArray = document.getElementsByName('test');
for(var i=0;i<=boxArray.length-1;i++){
if(boxArray[i]==obj && obj.checked){
boxArray[i].checked = true;
}else{
boxArray[i].checked = false;
}
}
} </script>
</HEAD> <BODY>
<input type="checkbox" name="test" onclick="checkedThis(this);">男
<input type="checkbox" name="test" onclick="checkedThis(this);">女
</BODY>
</HTML>这样只能选一个,但是也可以一个都不选,想让他完全变成单选那样的功能能,怎么做?
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<script Language="javascript">
function checkedThis(obj){
var boxArray = document.getElementsByName('test');
for(var i=0;i<=boxArray.length-1;i++){
if(boxArray[i]==obj && obj.checked){
boxArray[i].checked = true;
}else{
boxArray[i].checked = false;
}
}
} </script>
</HEAD> <BODY>
<input type="checkbox" name="test" onclick="checkedThis(this);">男
<input type="checkbox" name="test" onclick="checkedThis(this);">女
</BODY>
</HTML>这样只能选一个,但是也可以一个都不选,想让他完全变成单选那样的功能能,怎么做?
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<script Language="javascript">
function checkedThis(obj){
var boxArray = document.getElementsByName('test');
for(var i=0;i<=boxArray.length-1;i++){
if(boxArray[i]==obj && obj.checked){
boxArray[i].checked = true;
}else{
boxArray[i].checked = false;
}
}
} </script>
</HEAD> <BODY>
<input type="checkbox" name="test" onclick="checkedThis(this);" checked>男
<input type="checkbox" name="test" onclick="checkedThis(this);">女
</BODY>
</HTML>
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<meta http-equiv='content-type' content='text/html;charset=utf-8' />
<script type="text/javascript">
function checkedThis(obj,ev){ ev = ev || window.event; var chkElems = document.getElementsByName('test');
if(obj.getAttribute("_checked")) {
ev.returnValue = false;
return;
} else {
obj.setAttribute("_checked", true);
}
for(var i=0,len=chkElems.length;i<len;i++) {
if(chkElems[i] != obj) {
chkElems[i].checked = false;
chkElems[i].removeAttribute('_checked');
}
} } </script>
</HEAD> <BODY>
<input type="checkbox" name="test" onclick="checkedThis(this,event);">男
<input type="checkbox" name="test" onclick="checkedThis(this,event);">女
</BODY>
</HTML>用一个属性或是变量记录一下就可以了,点击的时候进行判断
if(ev.preventDefault) {
ev.preventDefault();
} else {
ev.returnValue = false;
} 因为需要兼容IE与其它浏览器IE和Chrome、Safari使用returnValue可以 但FF不行 需要使用preventDefault
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<script Language="javascript">
function checkedThis(obj){
var boxArray = document.getElementsByName('test');
for(var i=0;i<=boxArray.length-1;i++){
if(boxArray[i]==obj && obj.checked){
boxArray[i].checked = true;
}else{
for(var j=0;j<=boxArray.length-1;j++){
if(boxArray[j]!=obj && boxArray[j].checked){
boxArray[i].checked = false;
}else{
obj.checked = true;
}
}
}
}
} </script>
</HEAD> <BODY>
<input type="checkbox" name="test" onclick="checkedThis(this);" checked>男
<input type="checkbox" name="test" onclick="checkedThis(this);">女
</BODY>
</HTML>
你们两个的JS为什么放到JSP里,用tomcat访问不好使啊?
我用的是IE8
直接用拷贝的html里好使
为什么?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<script Language="javascript">
function checkedThis(obj){
var boxArray = document.getElementsByName('test');
for(var i=0;i< boxArray.length; i++){
if(boxArray[i].checked){
boxArray[i].checked = false;
}
}
obj.checked = true;
} </script>
</HEAD> <BODY>
<input type="checkbox" name="test" onclick="checkedThis(this)" checked="checked">男
<input type="checkbox" name="test" onclick="checkedThis(this)">女
</BODY>
</HTML>
这样应该可以了
{
if(!obj.checked)
{
obj.checked=true;
return;
} var boxArray = document.getElementsByName('test');
for(var i=0;i<=boxArray.length-1;i++)
{
if(boxArray[i]==obj && obj.checked)
{
boxArray[i].checked = true;
}
else
{
boxArray[i].checked = false;
}
}
}
为什么不用radio?
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<script Language="javascript">
(function(){
var prevChked = {};
function checkedThis(obj){
prevChked.checked = false;
prevChked = obj;
}
window['checkedThis'] = checkedThis;
})()
</script>
</HEAD> <BODY>
<input type="checkbox" name="test" onclick="checkedThis(this);">男
<input type="checkbox" name="test" onclick="checkedThis(this);">女
<input type="checkbox" name="test" onclick="checkedThis(this);">女
<input type="checkbox" name="test" onclick="checkedThis(this);">女
<input type="checkbox" name="test" onclick="checkedThis(this);">女
<input type="checkbox" name="test" onclick="checkedThis(this);">女
</BODY>
</HTML>
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<script Language="javascript">
(function(){
var prevChked;
function checkedThis(obj){
if(prevChked){
prevChked.checked = false;
}
prevChked = obj;
}
window['checkedThis'] = checkedThis;
})()
</script>
</HEAD> <BODY>
<input type="checkbox" name="test" onclick="checkedThis(this);">男
<input type="checkbox" name="test" onclick="checkedThis(this);">女
<input type="checkbox" name="test" onclick="checkedThis(this);">女
<input type="checkbox" name="test" onclick="checkedThis(this);">女
<input type="checkbox" name="test" onclick="checkedThis(this);">女
<input type="checkbox" name="test" onclick="checkedThis(this);">女
</BODY>
</HTML>
<c:if test="${node.ACTIVE=='1'}">
<input type="checkbox" name="ACTIVE" onclick="checkedThis(this);" checked="checked" value="1">活动
<input type="checkbox" name="ACTIVE" onclick="checkedThis(this);" value="0" >关闭
</c:if>
<c:if test="${node.ACTIVE=='0'}">
<input type="checkbox" name="ACTIVE" onclick="checkedThis(this); value="1" >活动
<input type="checkbox" name="ACTIVE" onclick="checkedThis(this);" checked="checked" value="0">关闭
</c:if>我放到这里的,就是不好使啊。
为什么?
跟JSTL标签没关系吧
看到网上有很多,验证正确或是错误input左边出现对号或是差
那是怎么做的?