根据checkBox或radio的勾选状态得到id数组
$(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数组的更多相关文章
- Extjs改变树节点的勾选状态
Extjs改变树节点的勾选状态 今天系统中有处地方需要一个功能点击一个按钮后将树节点前的复选框去掉,变成没有选择的状态.网上搜索了半天,然后自己查查API,终于找到解决办法了,下面把方法贴出来. 在E ...
- Ztree _ 横向显示子节点、点击文字勾选、去除指定元素input的勾选状态
前些天项目需要树结构表现数据,需求ztree就能满足所以直接使用ztree只是踩了些小坑... 1.ztree子节点横向显示(下图): 效果说明:第三级子节点按需求横向显示其他竖向显示,每行最多显示5 ...
- dedecms添加/编辑文章如何把附加选项去掉默认勾选状态
1.去掉添加时默认勾选状态. 在 系统->系统基本参数->其它选项 中,如图中的三个选项选择否即可. 设置完后可以看到添加时已经默认不勾选,但是编辑文章时还是默认勾选状态. 2.去掉编辑时 ...
- JqGrid获得所有选中行数据ID数组,获取所有行的ID数组
获得选中行的ID数组:var ids = $("jqgridtableid").jqGrid('getGridParam','selarrrow'); 获得所有行的ID数组:var ...
- Ext grid checkbox 分页 翻页 勾选 问题
timeArray = new Array(); //临时数组变量 var timeStatusBar = new Ext.ux.StatusBar({ id: 'statusbar', defaul ...
- elementUi-复选框,使用v-for循环出来的复选框,默认多个值为勾选状态
1. 使用 v-model="BottomSelectFor[index].tick" 绑定要默认勾选的状态 2.在数组中定义 tick:true,没有的字段默认为false 3. ...
- 如何根据checkbox的值进行勾选!例:我要勾选value等于scanbuy,terminal的复选框!
微商城 随手购 自助购 <div class="controls" id="client"> <input id="mall&quo ...
- checkbox属性checked="checked"但状态不是勾选状态的解决办法
原因: jQuery API明确说明,1.6+的jQuery要用prop,不能用attr否则无效,尤其是checkBox的checked的属性的判断.
- Datagridview 中的checkbox 选中或勾选状态失效
1.问题描述,先选中第一行,再取消选择,然后点击部门全选,第一行没有打钩,状态是不选中的状态. 2.分析代码 先选中第一行,单元格的单击事件中 改变选中状态为1,第一行取消选择,单元格的单击事件中 改 ...
随机推荐
- 如果有三个Bool型变量,请写出一程序得知其中有2个以上变量的值是true
下面这篇文章是从StackOverflow来的.LZ面试的时候遇到了一道面试题:“如果有三个Bool型变量,请写出一程序得知其中有2个以上变量的值是true”,于是LZ做了下面的这样的程序: bool ...
- 数据库CRUD操作
CRUD操作: C:create 增加数据: insert into 表名 values('N001','汉族') 普通 insert into 表名 values('','','') 如果有自增长列 ...
- oracle添加用户及权限
CREATE USER qdcenter 用户名 IDENTIFIED BY qdcenter 密码 DEFAULT TABLESPACE data1 默认表空间 TEMPORARY TABLE ...
- Winform中上传、下载文件选择打开文件的位置
打开将要上传的文件 var fileName="";OpenFileDialog fileDialog = new OpenFileDialog(); fileDialog.Mul ...
- setTimeOut和setInterval详解
setTimeout和setInterval的语法相同.它们都有两个参数,一个是将要执行的代码字符串,还有一个是以毫秒为单位的时间间隔,当过了那个时间段之后就将执行那段代码.不过这两个函数还是有区别的 ...
- 标准模板库——IO库
IO库设施: . istream(输入流)类型,提供输入操作. . ostream(输出流)类型,提供输出操作. . cin,一个istream对象,从标准输入读取数据. . cout,一个ostre ...
- TCP的流量控制
TCP协议作为一个可靠的面向字节流的传输协议,其可靠性和流量控制由滑动窗口协议保证,而拥塞控制则由控制窗口结合一系列的控制算法实现. 要区分TCP的流量控制和拥塞控制: 流量控制是发送方的发送数据的速 ...
- JSP page include taglib
page include taglib 语法:<%@ 指令名称 属性=值 属性=值 -%> ------------------- page 1.language 默认值java 2.ex ...
- 利用merge存储引擎来实现分表
我觉得这种方法比较适合,那些没有事先考虑,而已经出现了得,数据查询慢的情况.这个时候如果要把已有的大数据量表分开比较痛苦,最痛苦的事就是改代码,因为程序里面的sql语句已经写好了,现在一张表要分成几十 ...
- 容易被误解的overflow:hidden
http://www.ofcss.com/2011/03/20/misunderstood-of-overflow-hidden.html(转) 容易被误解的overflow:hidden 15条评论 ...