如果lz的表单的id可以各不相同的话,js会简单很多的,这样的情况,需要用document.getElementsByTagName 一层一层的遍历
解决方案 »
- 求个简单的JS判断网址代码
- [请教各位]js页面打印问题
- 如何向write 函数传参
- 求救ing!!! 关于网页选项卡的问题 本人虽分不多 但是还是愿意全部逢上```
- 求一个JS菜单代码
- 获取<div></div>之间的内容,然后赋给一个<input type="hidden" value="" />的value属性
- 如何用javascript页内关闭窗口而不弹出"您查看的网页正在试图关闭窗口"的提示?
- innerHTML超链接的正确
- 急,有谁知道在javascript中,window.open()括号中带的参数,还望告知
- (送分!)各位大佬!论坛的可以动态隐藏显示的导航栏是怎样做的?
- 列表页如何做loading!!
- 页面点击怎么写?
var str=null;
for (i=0;document.getElementsByName("input").length-1;i++)
{
if(document.getElementsByName("input").item(i).checked)
{
str+=i+","
j++;
}
if (j>2)
{
alert("最多只能选两个!");
return false;
}
else
{
if ((j==2)&&substr(str,"2")||substr(str,"5"))
{
alert("选择错误!");
return false;
}
}
}
if (document.getElementsByName("input").item(2).checked ||document.getElementsByName("input").item(5).checked)
{
for (i=0;document.getElementsByName("input").length-1;i++)
{
if not(i==2||i==5)
{
document.getElementsByName("input").item(i).display=false;
}
}
}
试试?
<body>
<div id='conter'>
<input type="checkbox" name="jcfs" id="jcfs" value="a">明查
<input type="checkbox" name="jcfs" id="jcfs" value="b">暗访
<input type="checkbox" name="jcfs" id="jcfs" value="c">添乘
<input type="checkbox" name="jcfs" id="jcfs" value="d">上网
<input type="checkbox" name="jcfs" id="jcfs" value="e">跟班
<input type="checkbox" name="jcfs" id="jcfs" value="f">巡视
<input type="checkbox" name="jcfs" id="jcfs" value="g" >夜查
</div>
<script>
var dd=0
function addListener(element,e,fn){ element.addEventListener?element.addEventListener(e,fn,false):element.attachEvent("on" + e,fn)}
function removeListener(element,e,fn){ element.removeEventListener?element.removeEventListener(e,fn,false):element.detachEvent("on" + e,fn)}
function $(id){return document.getElementById(id)}for(var i=0;i<$('conter').getElementsByTagName('input').length;i++)
{
var v=$('conter').getElementsByTagName('input')[i];
(function(v){
addListener($('conter').getElementsByTagName('input')[i],'click',function(){cck(v)})
})(v);
}function cck(v){
if(v.value=='c'||v.value=='f')
{
if(v.checked)
{
for(var i=0;i<$('conter').getElementsByTagName('input').length;i++)
{if(v.value!=$('conter').getElementsByTagName('input')[i].value)$('conter').getElementsByTagName('input')[i].setAttribute("disabled", "disabled")}
}
else
{
for(var i=0;i<$('conter').getElementsByTagName('input').length;i++)
{$('conter').getElementsByTagName('input')[i].removeAttribute("disabled", "disabled")}
}
}
else
{
if(v.checked)
{
$('conter').getElementsByTagName('input')[2].setAttribute("disabled", "disabled");
$('conter').getElementsByTagName('input')[5].setAttribute("disabled", "disabled");
dd++
if(dd==2)
{
for(var i=0;i<$('conter').getElementsByTagName('input').length;i++)
{
if(!$('conter').getElementsByTagName('input')[i].checked)
$('conter').getElementsByTagName('input')[i].setAttribute("disabled", "disabled");
}
}
}
else
{
dd--
for(var i=0;i<$('conter').getElementsByTagName('input').length;i++)
{
$('conter').getElementsByTagName('input')[i].removeAttribute("disabled", "disabled");
}
if(dd==1)
{
$('conter').getElementsByTagName('input')[2].setAttribute("disabled", "disabled");
$('conter').getElementsByTagName('input')[5].setAttribute("disabled", "disabled");
}
}
}
}
</script>
</body>
<input type="checkbox" name="jcfs" id="jcfs" value="明查" onclick="check()">明查
<input type="checkbox" name="jcfs" id="jcfs" value="暗访" onclick="check()">暗访
<input type="checkbox" name="jcfs" id="jcfs" value="添乘" onclick="check();check2(this);">添乘
<input type="checkbox" name="jcfs" id="jcfs" value="上网" onclick="check()">上网
<input type="checkbox" name="jcfs" id="jcfs" value="跟班" onclick="check()">跟班
<input type="checkbox" name="jcfs" id="jcfs" value="巡视" onclick="check();check2(this);">巡视
<input type="checkbox" name="jcfs" id="jcfs" value="夜查" onclick="check()">夜查
<script>
function check(){
var obj = document.all.item("jcfs") ;
//条件一
var flag = false ;
for(var i=0;i<obj.length;i++){
if((obj[i].value != "添乘" && obj[i].value != "巡视") && obj[i].checked == true ) {
flag = true ;
}
}
if(flag){
for(var i=0;i<obj.length;i++){
if(obj[i].value == "添乘" || obj[i].value == "巡视") {
obj[i].checked = false ;
obj[i].disabled = true ;
}
}
}
var flag2 = true ;
for(var i=0;i<obj.length;i++){
if(obj[i].checked == true){
flag2 = false ;
}
}
if(flag2){
for(var i=0;i<obj.length;i++){
if(obj[i].value == "添乘" || obj[i].value == "巡视") {
obj[i].disabled = false ;
}
}
}
}
function check2(flag){
var obj = document.all.item("jcfs") ;
if(flag.checked==true){
for(var i=0;i<obj.length;i++){
obj[i].checked = false ;
obj[i].disabled = true ;
if(obj[i].value == flag.value){
obj[i].disabled = false ;
obj[i].checked = true ;
}
}
}else{
for(var i=0;i<obj.length;i++){
obj[i].checked = false ;
obj[i].disabled = false ;
if(obj[i].value == flag.value){
obj[i].disabled = false ;
obj[i].checked = false ;
}
}
}
}
</script>我这个完美了
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>dhtml.checkbox.multipleAndSingleSelect.html</title>
<meta name="generator" content="editplus" />
<meta name="author" content="[email protected]" />
<meta name="keywords" content="" />
<meta name="description" content="" />
</head> <body>
<pre>1.只能勾选其中2项除了"添乘"和"巡视"(勾选其它项时完全当作没有"添乘"和"巡视",即"添乘"和"巡视"无法选).
2."添乘"和"巡视"只能勾选其中一项,即在勾选"添乘"和"巡视"其中一项时其它项目都无法选择.以上2个条件均要满足。</pre>
<input type="checkbox" name="jcfs" id="jcfs" value="明查">明查
<input type="checkbox" name="jcfs" id="jcfs" value="暗访">暗访
<input type="checkbox" name="jcfs" id="jcfs" value="添乘">添乘
<input type="checkbox" name="jcfs" id="jcfs" value="上网">上网
<input type="checkbox" name="jcfs" id="jcfs" value="跟班">跟班
<input type="checkbox" name="jcfs" id="jcfs" value="巡视">巡视
<input type="checkbox" name="jcfs" id="jcfs" value="夜查">夜查
<input type="button" value="查看选中值" onclick="alert(selectedValue);" />
<script type="text/javascript">
<!--
Array.prototype.indexOf = function(value) {
var index = -1;
for (var i=0; i<this.length; i++)
{
if (this[i] == value)
{
index = i;
break;
}
}
return index;
};
Array.prototype.contains = function(value) {
if (this.indexOf(value) != -1)
return true;
else
return false;
};var colCbx = document.getElementsByName("jcfs");
var singleValue = ["添乘","巡视"];
var multipleMax = 2;
var selectedValue = new Array();function getCheckBoxByValue(value)
{
for (var i=0; i<colCbx.length; i++)
if(colCbx[i].value == value) return colCbx[i];
}function controlOptions(cbx)
{
for (var i=0; i<colCbx.length; i++)
if((cbx.isSingle && !colCbx[i].isSingle)
|| (!cbx.isSingle && colCbx[i].isSingle && (cbx.checked || selectedValue.length == 1)))
colCbx[i].disabled = cbx.checked;
}function setSelectedValue(cbx)
{
if (cbx.isSingle)
{
var value = selectedValue.shift();
if (value)
getCheckBoxByValue(value).checked = false; if (cbx.checked)
selectedValue.push(cbx.value);
}
else
{
if (cbx.checked)
{
if (selectedValue.length == multipleMax)
getCheckBoxByValue(selectedValue.shift()).checked = false; selectedValue.push(cbx.value);
}
else
selectedValue.splice(selectedValue.indexOf(cbx.value), 1);
}
}for (var i=0; i<colCbx.length; i++)
{
colCbx[i].isSingle = singleValue.contains(colCbx[i].value); colCbx[i].onclick = function() {
controlOptions(this);
setSelectedValue(this);
};
}
//-->
</script>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>dhtml.checkbox.multipleAndSingleSelect.html</title>
<meta name="generator" content="editplus" />
<meta name="author" content="[email protected]" />
<meta name="keywords" content="" />
<meta name="description" content="" />
</head> <body>
<pre>1.只能勾选其中2项除了"添乘"和"巡视"(勾选其它项时完全当作没有"添乘"和"巡视",即"添乘"和"巡视"无法选).
2."添乘"和"巡视"只能勾选其中一项,即在勾选"添乘"和"巡视"其中一项时其它项目都无法选择.以上2个条件均要满足。</pre>
<input type="checkbox" name="jcfs" id="jcfs" value="明查">明查
<input type="checkbox" name="jcfs" id="jcfs" value="暗访">暗访
<input type="checkbox" name="jcfs" id="jcfs" value="添乘">添乘
<input type="checkbox" name="jcfs" id="jcfs" value="上网">上网
<input type="checkbox" name="jcfs" id="jcfs" value="跟班">跟班
<input type="checkbox" name="jcfs" id="jcfs" value="巡视">巡视
<input type="checkbox" name="jcfs" id="jcfs" value="夜查">夜查
<input type="button" value="查看选中值" onclick="alert(selectedValue);" />
<script type="text/javascript">
<!--
Array.prototype.indexOf = function(value) {
var index = -1;
for (var i=0; i<this.length; i++)
{
if (this[i] == value)
{
index = i;
break;
}
}
return index;
};
Array.prototype.contains = function(value) {
if (this.indexOf(value) != -1)
return true;
else
return false;
};var colCbx = document.getElementsByName("jcfs");
var singleValue = ["添乘","巡视"];
var multipleMax = 2;
var selectedValue = new Array();function getCheckBoxByValue(value)
{
for (var i=0; i<colCbx.length; i++)
if(colCbx[i].value == value) return colCbx[i];
}function controlOptions(cbx)
{
for (var i=0; i<colCbx.length; i++)
if((cbx.isSingle && !colCbx[i].isSingle)
|| (!cbx.isSingle && colCbx[i].isSingle && (cbx.checked || selectedValue.length == 1)))
colCbx[i].disabled = cbx.checked;
}function setSelectedValue(cbx)
{
if (cbx.isSingle)
{
var value = selectedValue.shift();
if (value)
getCheckBoxByValue(value).checked = false; if (cbx.checked)
selectedValue.push(cbx.value);
}
else
{
if (cbx.checked)
{
if (selectedValue.length == multipleMax)
getCheckBoxByValue(selectedValue.shift()).checked = false; selectedValue.push(cbx.value);
}
else
selectedValue.splice(selectedValue.indexOf(cbx.value), 1);
}
}for (var i=0; i<colCbx.length; i++)
{
colCbx[i].isSingle = singleValue.contains(colCbx[i].value); colCbx[i].onclick = function() {
controlOptions(this);
setSelectedValue(this);
};
}
//-->
</script>
</body>
</html>
var isTC = 0;//添乘
var isXS = 0;//巡视
var isOther = 0;//其他
function doCheck(obj){
//alert(isTC + ":" + isXS + ":" + isOther);
if(obj.checked==true){
if(obj.value!="添乘"&&obj.value!="巡视"){
if(isTC==1||isXS==1){
obj.checked=false;
alert("业务错误,请重新选择!");
return;
}
isOther++;
}else if(obj.value=="添乘"&&isXS==1){
obj.checked=false;
alert("业务错误,请重新选择!");
}else if(obj.value=="巡视"&&isTC==1){
obj.checked=false;
alert("业务错误,请重新选择!");
}else if(obj.value=="添乘"&&isOther!=0){
obj.checked=false;
alert("业务错误,请重新选择!");
}else if(obj.value=="巡视"&&isOther!=0){
obj.checked=false;
alert("业务错误,请重新选择!");
}else if(obj.value=="添乘"){
isTC=1;
}else if(obj.value=="巡视"){
isXS=1;
}
}else{
if(obj.value!="添乘"&&obj.value!="巡视"){
isOther--;
}else if(obj.value=="添乘"){
isTC=0;
}else if(obj.value=="巡视"){
isXS=0;
}
}
}
</script>
<input type="checkbox" name="jcfs" id="jcfs" value="明查" onclick="doCheck(this);">明查
<input type="checkbox" name="jcfs" id="jcfs" value="暗访" onclick="doCheck(this);">暗访
<input type="checkbox" name="jcfs" id="jcfs" value="添乘" onclick="doCheck(this);">添乘
<input type="checkbox" name="jcfs" id="jcfs" value="上网" onclick="doCheck(this);">上网
<input type="checkbox" name="jcfs" id="jcfs" value="跟班" onclick="doCheck(this);">跟班
<input type="checkbox" name="jcfs" id="jcfs" value="巡视" onclick="doCheck(this);">巡视
<input type="checkbox" name="jcfs" id="jcfs" value="夜查" onclick="doCheck(this);">夜查
由于本人的失误开始上分太少了..现在分起来真麻烦,而且好象不能补分...随便散下分希望大家别介意..在次感谢.