效果:选择一个checbox后,再选择后面的任意一个checkbox,用Jquery自动填充中间的空白checkbox。
主要用到了prop,prev,next方法,获取checkbox的值用prop,不用attr。
<form id="weekcheck"> <input type="checkbox" name="week" value="1"/> <input type="checkbox" name="week" value="2"/> <input type="checkbox" name="week" value="3"/> <input type="checkbox" name="week" value="4"/> <input type="checkbox" name="week" value="5"/> <input type="checkbox" name="week" value="6"/> <input type="checkbox" name="week" value="7"/> <input type="checkbox" name="week" value="8"/> <input type="checkbox" name="week" value="9"/> <input type="submit" value="提交" id="submit_btn"> </form>
<script type="text/javascript"> $('#weekcheck input').click(function(){ var num=$(this).val(); if(!num)return; if($(this).prop('checked')==true){ //该box为未选中状态时,former遍历判断 var ptr=$(this).prev(); for(var x=num-1;x>=0 && ptr.prop('checked')==false;x--){ ptr=ptr.prev(); } if(ptr.prop('checked')==true && !ptr.prev().prop('checked')){ for(var x=ptr.val();x<num;x++){ ptr=ptr.next(); ptr.prop('checked',true); } } } else{ //已经选中时则去自动掉选中状态 } }); </script>