冒泡法解决Jquery 下radio和checkbox的提交空值检查问题
2010-07-28 15:12
288 查看
这些日子一直在做投票,经过学习,终于做成了后台的所有和前台的显示。
刚刚做提交的时候,一件重要的事情,排空提醒了我。
每一题的选项input有生成的不同的name,题量和name都未知,有单选和多选,怎么判断用户没有按要求点击?
很自然的想到在不同题型的情况下做判断。这个当然不是重点。重点是,我们怎么选出一个题的一组选项按钮,并且进行判断操作。他们只有一个特征,就是name相同,根据这个特征,自然就能想出解决的办法了。
我接触过VB和Java语言,说来笑话,虽然基本等于没学,但是其中一些比较有趣的算法还是很感兴趣,这两种语言刚学循环的时候基本上都要讲一讲排序。听到这两个字明朗了吧。我要用冒泡排序法将有特征的一组值选出来!
基本原理是这样的:假定一个name然后和符合条件的input name比较,如果不相同就把input name的值给假定的name,再通过选择器和name值将这一组值选出来,判断处理并标记。循环,将改变过的假定的name值与下一个input name值比较,以此循环,直到所有的值都被标记为止。循环结束!
神奇吧,思想的神奇性!看来没有什么没有用的知识,只看你能不能学精!下面给出代码:
呵呵,代码的注释多了些,菜鸟嘛,方便排错!
刚刚做提交的时候,一件重要的事情,排空提醒了我。
每一题的选项input有生成的不同的name,题量和name都未知,有单选和多选,怎么判断用户没有按要求点击?
很自然的想到在不同题型的情况下做判断。这个当然不是重点。重点是,我们怎么选出一个题的一组选项按钮,并且进行判断操作。他们只有一个特征,就是name相同,根据这个特征,自然就能想出解决的办法了。
我接触过VB和Java语言,说来笑话,虽然基本等于没学,但是其中一些比较有趣的算法还是很感兴趣,这两种语言刚学循环的时候基本上都要讲一讲排序。听到这两个字明朗了吧。我要用冒泡排序法将有特征的一组值选出来!
基本原理是这样的:假定一个name然后和符合条件的input name比较,如果不相同就把input name的值给假定的name,再通过选择器和name值将这一组值选出来,判断处理并标记。循环,将改变过的假定的name值与下一个input name值比较,以此循环,直到所有的值都被标记为止。循环结束!
神奇吧,思想的神奇性!看来没有什么没有用的知识,只看你能不能学精!下面给出代码:
function check_all() { $("input[sj]").attr("done","done")//初始化属性 var name_id=0;//定义name初始值,冒泡法解决 var input_size=$("input[sj]").size(); //alert(input_size); var str=""; for(var i=0;i<input_size;i++) { var input_name=$("input[done=done]").eq(0).attr("name"); // alert(input_name); if(input_name!=undefined&&input_name!=""&&input_name!=name_id)//debug 保证查找是有结果的 { name_id=input_name; //查找所有input_name相同的项,进行处理并标记 $("input[name='"+name_id+"']").removeAttr("done"); var type=$("input[name='"+name_id+"']").eq(0).attr("type"); //处理函数 //alert(name_id);alert(type); if(type=="radio")//必选而且只能选一个 {// alert("a") var check_num=$('input:checked[name='+name_id+']').size(); //alert(check_num); if(check_num!=1) { str+= "您还有单选题没有做哦,是不是点掉了"; } } if(type=="checkbox")//至少选一个 { var check_num=$('input:checked[name='+name_id+']').size(); //alert(check_num); if(check_num<1) { str+= "您还有多选题没有做哦,是不是点掉了"; } } }//排空if }// for $("#msg").html(str).show(); }//function
呵呵,代码的注释多了些,菜鸟嘛,方便排错!
相关文章推荐
- Jquery中Radio,checkbox判断是否选中的问题
- Jquery操作checkbox全选、反选失效的问题解决
- 解决jquery操作checkbox火狐下第二次无法勾选问题
- [转]结合PHP实例谈谈如何解决jQuery.ajax提交GB2312或GBK编码中文乱码问题
- 前端:Jquery 处理同一Name的Radio组时,绑定checked属性异常的问题.(已解决)
- jquery-form中ajaxSubmit提交文件,以及解决ie9下上传文件后自动下载问题
- jQuery - 动态添加、删除form表单项(附:新增项数据无法提交问题解决)
- 解决jquery操作checkbox全选全不选无法勾选问题
- 解决jquery操作checkbox全选全不选无法勾选问题
- jquery checkbox无法用attr()二次勾选问题的解决方法
- 解决AJAX表单用POST方式提交Checkbox复选框的问题
- 解决jquery操作checkbox火狐下第二次无法勾选问题
- jquery中ajax方法提交数据时,中文乱码问题解决。
- 解决jquery操作checkbox火狐下第二次无法勾选问题
- 解决jQuery操作checkbox第二次失效的问题
- Jquery实现异步提交表单,解决多表单提交的问题
- 解决JQuery中datatables设置隐藏显示列多次提交后台刷新数据的问题
- 多个jquery.datatable共存,checkbox全选异常问题的解决
- IE下 checkbox、radio等标签的label中的img点击无效(点击不能选中)问题解决
- 解决JQuery checkbox的attr(checked)一直为undefined问题