实现多个下拉框同一批option,选中其一其他框里去除选中的项(不可选择已选过的项)--js

html


初始化  先把下拉框 satisfactionOptionTList  查出来,以便出发 选中事件

<div class="col-xs-4">                <button type="button" οnclick="resetSatisfaction();" class="btn btn-success btn-sm" style="background:#8EC21F;border-color:#8EC21F;">重置满意度</button><p style="margin:10px 0;"><span>第一满意度:</span><select class="form-control" name="firstSatisfaction" style="display:inline-block;width:70%;" id="satisfactionOptionT1" οnchange="satisfactionOptionT(this);" ><option value="-1" >--请选择--</option><#if satisfactionOptionTList??><#list satisfactionOptionTList as satisfactionOptionT><option value="${satisfactionOptionT.typeId}" >${satisfactionOptionT.concreteValue}</option></#list></#if></select></p><p style="margin:10px 0;"><span>第二满意度:</span><select class="form-control" name="secondSatisfaction" style="display:inline-block;width:70%;" id="satisfactionOptionT2" οnchange="satisfactionOptionT(this);"><option value="-1" >--请选择--</option><#if satisfactionOptionTList??><#list satisfactionOptionTList as satisfactionOptionT><option value="${satisfactionOptionT.typeId}" >${satisfactionOptionT.concreteValue}</option></#list></#if></select></p><p style="margin:10px 0;"><span>第三满意度:</span><select class="form-control" name="thirdlySatisfaction" style="display:inline-block;width:70%;" id="satisfactionOptionT3" οnchange="satisfactionOptionT(this);"><option value="-1" >--请选择--</option><#if satisfactionOptionTList??><#list satisfactionOptionTList as satisfactionOptionT><option value="${satisfactionOptionT.typeId}" >${satisfactionOptionT.concreteValue}</option></#list></#if></select></p><p style="margin:10px 0;"><span>第四满意度:</span><select class="form-control" name="fourthlySatisfaction" style="display:inline-block;width:70%;" id="satisfactionOptionT4" οnchange="satisfactionOptionT(this);"><option value="-1" >--请选择--</option><#if satisfactionOptionTList??><#list satisfactionOptionTList as satisfactionOptionT><option value="${satisfactionOptionT.typeId}" >${satisfactionOptionT.concreteValue}</option></#list></#if></select></p><p style="margin:10px 0;"><span>第五满意度:</span><select class="form-control" name="fifthSatisfaction" style="display:inline-block;width:70%;" id="satisfactionOptionT5" οnchange="satisfactionOptionT(this);"><option value="-1" >--请选择--</option><#if satisfactionOptionTList??><#list satisfactionOptionTList as satisfactionOptionT><option value="${satisfactionOptionT.typeId}" >${satisfactionOptionT.concreteValue}</option></#list></#if></select></p><p style="margin:10px 0;"><span>第六满意度:</span><select class="form-control" name="sixthSatisfaction" style="display:inline-block;width:70%;" id="satisfactionOptionT6" οnchange="satisfactionOptionT(this);"><option value="-1" >--请选择--</option><#if satisfactionOptionTList??><#list satisfactionOptionTList as satisfactionOptionT><option value="${satisfactionOptionT.typeId}" >${satisfactionOptionT.concreteValue}</option></#list></#if></select></p><p style="margin:10px 0;"><span>第七满意度:</span><select class="form-control" name="seventhSatisfaction" style="display:inline-block;width:70%;" id="satisfactionOptionT7" οnchange="satisfactionOptionT(this);"><option value="-1" >--请选择--</option><#if satisfactionOptionTList??><#list satisfactionOptionTList as satisfactionOptionT><option value="${satisfactionOptionT.typeId}" >${satisfactionOptionT.concreteValue}</option></#list></#if></select></p></div>

js

function satisfactionOptionT(o){var num = 0;var array = new Array();if($("#satisfactionOptionT1").val() != -1){array[num] = parseInt($("#satisfactionOptionT1").val());num++;}if($("#satisfactionOptionT2").val() != -1){array[num] = parseInt($("#satisfactionOptionT2").val());num++;}if($("#satisfactionOptionT3").val() != -1){array[num] = parseInt($("#satisfactionOptionT3").val());num++;}if($("#satisfactionOptionT4").val() != -1){array[num] = parseInt($("#satisfactionOptionT4").val());num++;}if($("#satisfactionOptionT5").val() != -1){array[num] = parseInt($("#satisfactionOptionT5").val());num++;}if($("#satisfactionOptionT6").val() != -1){array[num] = parseInt($("#satisfactionOptionT6").val());num++;}if($("#satisfactionOptionT7").val() != -1){array[num] = parseInt($("#satisfactionOptionT7").val());num++;}$.ajax({url:"${huluUrl}/corp/comment/setSatisfactionOptionT?array="+array,type:"POST",success:function(obj){if(obj.success == true){//除去选中的potion 将其他的选项赋值到 剩余没有选择的满意度上var publicOption ='<option value="-1" >--请选择--</option>';var publicSelect ='';var select1 = '';var select2 = '';var select3 = '';var select4 = '';var select5 = '';var select6 = '';var select7 = '';if($("#satisfactionOptionT1").val() != -1){select1 +='<option value='+$("#satisfactionOptionT1").val()+' selected="selected">'+$("#satisfactionOptionT1").find("option:selected").text()+'</option>';}if($("#satisfactionOptionT2").val() != -1){select2 +='<option value='+$("#satisfactionOptionT2").val()+' selected="selected">'+$("#satisfactionOptionT2").find("option:selected").text()+'</option>';}if($("#satisfactionOptionT3").val() != -1){select3 +='<option value='+$("#satisfactionOptionT3").val()+' selected="selected">'+$("#satisfactionOptionT3").find("option:selected").text()+'</option>';}if($("#satisfactionOptionT4").val() != -1){select4 +='<option value='+$("#satisfactionOptionT4").val()+' selected="selected">'+$("#satisfactionOptionT4").find("option:selected").text()+'</option>';}if($("#satisfactionOptionT5").val() != -1){select5 +='<option value='+$("#satisfactionOptionT5").val()+' selected="selected">'+$("#satisfactionOptionT5").find("option:selected").text()+'</option>';}if($("#satisfactionOptionT6").val() != -1){select6 +='<option value='+$("#satisfactionOptionT6").val()+' selected="selected">'+$("#satisfactionOptionT6").find("option:selected").text()+'</option>';}if($("#satisfactionOptionT7").val() != -1){select7 +='<option value='+$("#satisfactionOptionT7").val()+' selected="selected">'+$("#satisfactionOptionT7").find("option:selected").text()+'</option>';}for (var i = 0; i < obj.data.length; i++) {// alert(obj.data[i].concreteValue);publicSelect +='<option value='+obj.data[i].typeId+' >'+obj.data[i].concreteValue+'</option>';}$("#satisfactionOptionT1").html(publicOption+select1+publicSelect);$("#satisfactionOptionT2").html(publicOption+select2+publicSelect);$("#satisfactionOptionT3").html(publicOption+select3+publicSelect);$("#satisfactionOptionT4").html(publicOption+select4+publicSelect);$("#satisfactionOptionT5").html(publicOption+select5+publicSelect);$("#satisfactionOptionT6").html(publicOption+select6+publicSelect);$("#satisfactionOptionT7").html(publicOption+select7+publicSelect);}},error:function(){alert("与服务器断开联系,请稍后再试!");parent.location.reload();	}})
}



java

  //array 要过滤掉的选项@RequestMapping(value = "setSatisfactionOptionT",method = RequestMethod.POST)public @ResponseBody AjaxResult setSatisfactionOptionT(Integer[] array) {if(array==null || array.length ==0){array = new Integer[1];array[0] = -1;}List<Ctrl> satisfactionOptionTList = ctrlDbSvc.getCtrlSatisfactionList("satisfactionOptionT",array);if(satisfactionOptionTList ==null){return AjaxResult.createError("无数据");}else{return AjaxResult.createSuccess(satisfactionOptionTList);}  }
java: service
public List<Ctrl> getCtrlSatisfactionList(String typeExplain,Integer[] typeIdArray){List<Ctrl> ctrlList = repo.getCtrlSatisfactionList(typeExplain,typeIdArray);return ctrlList;}
java :dao

@Query("select c from Ctrl c where c.typeExplain = :typeExplain and typeId not in (:typeIdArray) ")List<Ctrl> getCtrlSatisfactionList(@Param("typeExplain") String typeExplain,@Param("typeIdArray")Integer[] typeIdArray);



配置表						
db_ctrl	流水号	id	bigint	20	Y	类型说明	typeExplain	varchar	255	Y	类型ID	typeId	smallint	11	Y	具体值	concreteValue	varchar	255	Y	对应描述	description	varchar	255		排序	sort	smallint	11		



db 脚本-SQL

建表

/*
Navicat MySQL Data TransferSource Server         : hulu
Source Server Version : 50096
Source Host           : localhost:3306
Source Database       : huluTarget Server Type    : MYSQL
Target Server Version : 50096
File Encoding         : 65001Date: 2016-07-15 15:09:59
*/SET FOREIGN_KEY_CHECKS=0;-- ----------------------------
-- Table structure for `db_ctrl`
-- ----------------------------
DROP TABLE IF EXISTS `db_ctrl`;
CREATE TABLE `db_ctrl` (`id` bigint(20) NOT NULL auto_increment,`typeExplain` varchar(255) NOT NULL,`typeId` int(11) NOT NULL,`concreteValue` varchar(255) NOT NULL,`description` varchar(255) default NULL,`sort` int(11) default NULL,`createdAt` bigint(20) default NULL,`updatedAt` bigint(20) default NULL,PRIMARY KEY  (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=62 DEFAULT CHARSET=utf8;-- ----------------------------
-- Records of db_ctrl
-- ----------------------------INSERT INTO `db_ctrl` VALUES ('45', 'satisfactionOptionT', '1', '带班态度', '满意度选项', '1', null, null);
INSERT INTO `db_ctrl` VALUES ('46', 'satisfactionOptionT', '2', '班前准备', '满意度选项', '2', null, null);
INSERT INTO `db_ctrl` VALUES ('47', 'satisfactionOptionT', '3', '安全把控', '满意度选项', '3', null, null);
INSERT INTO `db_ctrl` VALUES ('48', 'satisfactionOptionT', '4', '时间管理', '满意度选项', '4', null, null);
INSERT INTO `db_ctrl` VALUES ('49', 'satisfactionOptionT', '5', '控场能力', '满意度选项', '5', null, null);
INSERT INTO `db_ctrl` VALUES ('50', 'satisfactionOptionT', '6', '项目操作', '满意度选项', '6', null, null);
INSERT INTO `db_ctrl` VALUES ('51', 'satisfactionOptionT', '7', '引导分享', '满意度选项', '7', null, null);

效果--------------------------------------------









本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/553465.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

myEclipse背景控制插件方案 内附使用说明

各种效果 本人使用21,epf 下载地址: http://download.csdn.net/detail/u014596302/9652857 效果如下: 更多选择 ,赶紧试试吧

java调试,调试模式不进入内部类解决

myeclipse 编辑java 代码是内部类 断点无法进入, 调试时将内部类方法的第一行断点可进入内部类调用的方法

autocomplete 属性 清除input框输入存留历史值,防止下拉历史值显示

autocomplete 属性规定输入字段是否应该启用自动完成功能。 自动完成允许浏览器预测对字段的输入。当用户在字段开始键入时&#xff0c;浏览器基于之前键入过的值&#xff0c;应该显示出在字段中填写的选项。 注释&#xff1a;autocomplete 属性适用于 <form>&#xff0c…

myeclipse不是eclipse,servlet 报错 HttpServlet cannot be resolved to a type

如果还是想洁净一下的小伙伴还是请自己引用一下自己tomcat 的servlet 吧

spring Boot报错 之五种(不打包运行)

Whitelabel Error Page This application has no explicit mapping for /error, so you are seeing this as a fallback. Fri Aug 18 13:01:46 CST 2017There was an unexpected error (typeNot Found, status404).No message available其一: 之前百度,google,必应,都TM 不好…

spring boot打包问题,访问问题

用eclipse 打jar包 或者war 会报错(换maven-surefire-plugin: 其他版本一样报错 ) 总结所有的可能性 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.3:test (default-test) on project jxBoot: Execution default-test of goal org.apach…

redis缓存(jedis), 链接,存,取,String,map,对象

windwos端修改 redis.windows.conf 文件 配置访问ip 和 端口 和 auth 端口 port 6379 密码 requirepass 123456 cmd cd 到解压目录 执行 redis-server.exe redis.windows.conf 如果不指定配置文件,设置项重新启动后失效 启动成功 若报错 [2368] 21 Apr 02:57:05.611 # …

微信公众号之微信支付(V3版)jsp页面jsapi统一下单调启支付(java版)

web项目 按顺序一步一步来 准备: 申请了微信支付接口的微信公众号一枚 , 备案的域名网站一枚, (如果有没有的这两个东西会耽误你很久,因为微信支付必须是线上,无法本地调试,) 这里说一下 如果有经济条件的最好申请一台win系统的服务器作为测试服务器这样会使你省去很多的麻烦,装…

微信CA证书(本例使用 java,win7服务器)

CA证书 微信支付HTTPS服务器证书验证指引https://pay.weixin.qq.com/wiki/doc/api/micropay.php?chapter23_4 下载证书文件 DigiCert_Global_Root_CA.der官方安装步骤

jeecg扩展字段,非实体属性

jsp 添加对应的字段名称 后台

wex5部署教程到数据库

第一步. 打包app 模式3 选择插件勾选, 绑定data c 组件 input 输入框不可编辑, js 赋值后 可以编辑, 第二步. 第三步 4 5 6 7 8 9 10 11 12 启动tomcat 运行app OK

jeecg 输入框属性 自定义ajax 验证字段值是否存在

jsp <div class"form"><label class"Validform_label">选项编号: </label><input name"typecode" class"inputxt" value"${type.typecode }" datatype"/^[A-Za-z0-9\u4E00-\u9FA5\uf900-\ufa2d…

SVN插件版本过低1.6的已经不兼容现在新版的eclipse 了用 1.8X的吧

SVN插件版本过低 1.6的已经不兼容现在新版的eclipse 了用 1.8X的吧 SVN插件下载地址及更新地址&#xff0c;版本1.8.x Links for 1.8.x Release: Eclipse update site URL: http://subclipse.tigris.org/update_1.8.x svn插件包下载: http://subclipse.tigris.org/servlets…

JEECG列表嵌套查询列表子查询+号功能

控制器 Controller RequestMapping("/planQueryController") public class PlanQeruyController extends BaseController {private static final Logger logger LoggerFactory.getLogger(PlanQeruyController.class);Autowiredprivate DbThekeyStationScanLogServic…

泛微OA流程表单验证附加验证条件-js代码块

身份证号 验证18位 对应字段名 field10762 数据字段名sfzh 上代码 jQuery(document).ready(function() {var value1 "field10762"; //重写checkCustomizecheckCustomize function(){//dobeforecheck提交按钮验证&#xff0c;当点击时触发var str1 $("#&q…

JEECG分页条数自定义

修改 DataGridTag.java 配置 条数 sb.append(StringUtil.replaceAll("loadMsg: \{0}\,", "{0}", MutiLangUtil.getLang("common.data.loading")));sb.append("pageSize: " pageSize ",");sb.append("pagination:&quo…

SAP ABAP打印MM采购发票打印开发

复制程序应该有部分对象需要自行创建,需要调试,仅供参考 需要打印的模板 程序代码 *&---------------------------------------------------------------------* *& 程序名称/Program Name :ZMMP001 *& 程序名称/Program Des :采购发票: *&…

SAP ABAP 打印(smartforms方式)

程序代码 *&---------------------------------------------------------------------* *& Report Z3TEST004 *&---------------------------------------------------------------------* *& 打印 采购发票 查询 *&-----------------------------------…

SAP ABAP刷新ALV 渲染刷新 (我也不太懂,反正就这么写了)

调用 REFRESH_TABLE_DISPLAY 自定义 方法 REFRESH_TABLE_DISPLAY LVC_S_STBL