$(function(){
var inputs = document.getElementsByTagName("input");
var realStrs = "";
var strs = "";
for (var i = 0; i < inputs.length; i++) {
var obj = inputs[i];
if (obj.type == "radio") {
if (obj.checked == true) {
realStrs += obj.id + ",";
}
}else if(obj.type == "checkbox"){
if(obj.checked == true){
strs += obj.id + ",";
}
}
}
realStrs = realStrs.substr(0,realStrs.length-1);
strs = strs.substr(0,strs.length-1);
var singleArray = realStrs.split(",");
var array = strs.split(",");
var result = [], isRepeated;
for (var i = 0, len = singleArray.length; i < len; i++) {
isRepeated = false;
for (var j = i+1, len = singleArray.length; j < len; j++) {
if (singleArray[i] == singleArray[j]) {
isRepeated = true;
break;
}
}
if (!isRepeated) {
result.push(singleArray[i]);
}
}
var result2 = [], isRepeated2;
for (var i = 0, len = array.length; i < len; i++) {
isRepeated2 = false;
for (var j = i+1, len = array.length; j < len; j++) {
if (array[i] == array[j]) {
isRepeated2 = true;
break;
}
}
if (!isRepeated) {
result2.push(array[i]);
}
}
for (var k = 0; k < result.length; k++) {
var realIds = result[k] - 99;
if(realIds>0){
document.getElementById(realIds).style.display = "none";
}
}
for (var j = 0; j < result2.length; j++) {
var ids = result2[j] - 100;
if(ids>0){
document.getElementById(ids).style.display = "none";
}
}
});

   这段代码是在查看问卷调查结果的时候用到的,一份问卷里面有单选题、多选题和问答题,(我这里不考虑最简单的问答题),

我的方法是:所有选项前面都有一个input,单选就是radio,多选就是checkbox,将查询到的结果进行判断,已选的选项前再加上

一个input,属性checked=“checked”,并将刚刚的input隐藏。

for (var k = 0; k < result.length; k++) {

  var realIds = result[k] - 99;
if(realIds>0){
document.getElementById(realIds).style.display = "none";
}
}
for (var j = 0; j < result2.length; j++) {
var ids = result2[j] - 100;
if(ids>0){
document.getElementById(ids).style.display = "none";
}
}
其中result[k]-99,表示的是选中的选项是有两个input的,只是将其中一个没选中的隐藏了。
————————————————————————————————————————————————————————————————————————————————————————————
  大家要看的只是我得到checked的属性的id就可以了,其他的可作为参考。

根据checkBox或radio的勾选状态得到id数组的更多相关文章

  1. Extjs改变树节点的勾选状态

    Extjs改变树节点的勾选状态 今天系统中有处地方需要一个功能点击一个按钮后将树节点前的复选框去掉,变成没有选择的状态.网上搜索了半天,然后自己查查API,终于找到解决办法了,下面把方法贴出来. 在E ...

  2. Ztree _ 横向显示子节点、点击文字勾选、去除指定元素input的勾选状态

    前些天项目需要树结构表现数据,需求ztree就能满足所以直接使用ztree只是踩了些小坑... 1.ztree子节点横向显示(下图): 效果说明:第三级子节点按需求横向显示其他竖向显示,每行最多显示5 ...

  3. dedecms添加/编辑文章如何把附加选项去掉默认勾选状态

    1.去掉添加时默认勾选状态. 在 系统->系统基本参数->其它选项 中,如图中的三个选项选择否即可. 设置完后可以看到添加时已经默认不勾选,但是编辑文章时还是默认勾选状态. 2.去掉编辑时 ...

  4. JqGrid获得所有选中行数据ID数组,获取所有行的ID数组

    获得选中行的ID数组:var ids = $("jqgridtableid").jqGrid('getGridParam','selarrrow'); 获得所有行的ID数组:var ...

  5. Ext grid checkbox 分页 翻页 勾选 问题

    timeArray = new Array(); //临时数组变量 var timeStatusBar = new Ext.ux.StatusBar({ id: 'statusbar', defaul ...

  6. elementUi-复选框,使用v-for循环出来的复选框,默认多个值为勾选状态

    1. 使用 v-model="BottomSelectFor[index].tick" 绑定要默认勾选的状态 2.在数组中定义 tick:true,没有的字段默认为false 3. ...

  7. 如何根据checkbox的值进行勾选!例:我要勾选value等于scanbuy,terminal的复选框!

    微商城 随手购 自助购 <div class="controls" id="client"> <input id="mall&quo ...

  8. checkbox属性checked="checked"但状态不是勾选状态的解决办法

    原因: jQuery API明确说明,1.6+的jQuery要用prop,不能用attr否则无效,尤其是checkBox的checked的属性的判断.

  9. Datagridview 中的checkbox 选中或勾选状态失效

    1.问题描述,先选中第一行,再取消选择,然后点击部门全选,第一行没有打钩,状态是不选中的状态. 2.分析代码 先选中第一行,单元格的单击事件中 改变选中状态为1,第一行取消选择,单元格的单击事件中 改 ...

随机推荐

  1. 【Winform开发2048小游戏】

    先来看一下界面: 游戏帮助类 class GameCore { //游戏地图 private int[,] map = new int[4, 4]; //合并时用到的临时数组 private int[ ...

  2. VBA 开发学习--基础语法2

    VBA中的运算符 算数运算符及其作用 + 求两个数的和 -  求两个数的差:求一个数的相反数 *  求两个数的积 /   求两个数的商(保留小数位   5/2=2.5) \   整除 (保留整数位  ...

  3. VisualStudio中的代码段

    VS很强大,在这里就不过多说了,在平时码代码时应用代码段会提高我们的编写速度. 举个例子: 比如输入Console.WriteLine (); 传统方法就是一个字母一个字母的输入进去. 如果大家掌握了 ...

  4. css position 属性 (absolute 和fixed 区别)

    在css3中,position的属性值有:inherit, static, relative ,absolute, fixed. inherit 是继承父元素的position属性值,IE不支持. s ...

  5. Validform表单验证的完美解决方案,推荐给大家

    http://validform.rjboy.cn/ 功能简介: 可以在input上直接绑定正则,可以自定义datatype,自定义datatype可以是正则,也可以是函数,datatype可以累加或 ...

  6. events模块

    /** * Created by Administrator on 2016/8/3. */ var http = require("http"); //Node 导入文件系统模块 ...

  7. JDK源码学习--String篇(三) 存储篇

    在进一步解读String类时,先了解下内存分配和数据存储的. 数据存储 1.寄存器:最快的存储区,位于处理器的内部.由于寄存器的数量有限,所以寄存器是按需分配. 2.堆栈:位于RAM中,但是通过堆栈指 ...

  8. c#Ulong用一个高位Uint和低位Uint表示

    有时候考虑到平台之间的通用性,可能把一个Ulong拆分成2个Uint来进行各平台之间的通讯,当时转换的时候有点头晕,对与或预算不是很熟悉,不过还是花了半小时弄出来了,代码: //ulong的最大值2^ ...

  9. 大数据技术 vs 数据库一体机[转]

    http://blog.sina.com.cn/s/blog_7ca5799101013dtb.html 目前,虽然大数据与数据库一体机都很火热,但相当一部分人却无法对深入了解这两者的本质区别.这里便 ...

  10. Nuget升级问题

    想在项目中通过“Add Library Package Reference”添加Moq,结果出现错误提示说Nuget版本太低. 要升级Nuget需要先卸载原来的Nuget. 1.在控制面板,卸载程序里 ...