jS(jquery)复选框问题请教
四个复选框 一个提交按钮,我想问问 选择value=ck4的时候 全部选上 当 value=ck3的时候value=ch3 value=ck2 value=ck1的checkboxe被选上 当value=ck2的时候同理 我想根据 checkbox的value值来判断,不根据checkbox是第几个来判定,因为在我那个程序里 checkbox的位置是不固定了 是会变的 所以我想只能根据value来判定吧 求大侠指点 用Jquery或者JS都行,我今天自己用juqery写了,我是就是根据根据我上面说的条件判定的虽然能实现但有问题 取消选择的时候只能从第四个开始取消 求大侠们指教指教
<input type="checkbox" name="CHK" value="ck1"/>
<input type="checkbox" name="CHK" value="ck2"/>
<input type="checkbox" name="CHK" value="ck3"/>
<input type="checkbox" name="CHK" value="ck4"/>
[解决办法]
给点力好不好,结帐率太低了。
<input type="checkbox" name="CHK" value="ck3"/>3<input type="checkbox" name="CHK" value="ck4"/>4<input type="checkbox" name="CHK" value="ck1"/>1<input type="checkbox" name="CHK" value="ck2"/>2.............以下只是测试<input type="checkbox" name="CHK" value="ck5"/>5<input type="checkbox" name="CHK" value="ck6"/>6<input type="checkbox" name="CHK" value="ck7"/>7<script type="text/javascript">var chk=document.getElementsByName("CHK"); for(var i=0;i<chk.length;i++){ (function(n){ chk[n].onclick=function(){ var i=this.value.replace(/[^\d]/g,""); for(var l=0;l<chk.length;l++){ var b=chk[l].value.replace(/[^\d]/g,""); if(this.checked&&i>b){ chk[l].checked=true; } if(!this.checked&&i<b){ chk[l].checked=false; } } } })(i); }</script>
[解决办法]
这个问题貌似以前有人问过啊,楼主以下代码试试,这是我以前帮别人写的,希望对你有所帮助。
<!DOCTYPE html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>test</title><script type="text/javascript" src="jquery-1.7.2.min.js"></script><script language="javascript"> $(function(){ $(':checkbox').click(function(){ //获取当前点击复选框前面的同辈复选框元素的个数 var count = $(this).prevAll(':checkbox').size(); if($(this).get(0).checked){ for(var i = 0;i < count;i++){ $(':checkbox').get(i).checked = true; } } }); })</script></head><body> <input type="checkbox" />one <input type="checkbox" />two <input type="checkbox" />three <input type="checkbox" />four</body></html>