1. /**
  2. 删除多选select中 的某个值,公共方法
  3. 只适用于同级节点下只有一个select的情况
  4. v 此按钮,this
  5. _id,option中的value的name属性
  6. _name,option中的text的name属性
  7. ***如果每次添加不清空options,而是在原有基础添加
  8. pr_id:备用value,需要保留select中之前的数据时填写
  9. pr_name:备用 name,需要保留select中之前的数据时填写
  10. */
  11. function deletedOne(v,_id,_name,pr_id,pr_name){
  12. var id="input:hidden[name="+_id+"]";
  13. var name="input:hidden[name="+_name+"]";
  14. var parent=$(v).parent();
  15. var sele=parent.find("select")[0];
  16. var options=sele.options;
  17. if(options){
  18. for(var i=0;i<options.length;i++){
  19. if(options[i].selected){
  20. options.remove(i);
  21. }
  22. }
  23. var idstr="";
  24. var namestr="";
  25. for(var i=0;i<options.length;i++){
  26. if(!options[i].selected){
  27. if(idstr==""){
  28. idstr=options[i].value;
  29. namestr=options[i].text;
  30. }else{
  31. idstr=idstr+","+options[i].value;
  32. namestr=namestr+","+options[i].text;
  33. }
  34. }
  35. }
  36. var id_node=parent.find(id)[0];
  37. var name_node=parent.find(name)[0];
  38. $(id_node).val(idstr);
  39. $(name_node).val(namestr);
  40. if(pr_id && pr_name){
  41. var _id_node=parent.find("input:hidden[name="+pr_id+"]")[0];
  42. var _name_node=parent.find("input:hidden[name="+pr_name+"]")[0];
  43. $(_id_node).val(idstr);
  44. $(_name_node).val(namestr);
  45. }
  46. }
  47. }
  48. /**
  49. 公共的多选框显示方法
  50. v:按钮
  51. _id:value的name属性
  52. _name:text的name属性
  53. ****如果每次添加不清空options,而是在原有基础添加
  54. _pr_id:备用字段value,需要保留select中之前的数据时填写
  55. _pr_name:备用字段name,需要保留select中之前的数据时填写
  56. */
  57. function showSelect(v,_id,_name,_pr_id,_pr_name){
  58. var parent=$(v).parent();
  59. //获取同级下的节点
  60. var name_node=parent.find("input:hidden[name="+_name+"]")[0];
  61. var id_node=parent.find("input:hidden[name="+_id+"]")[0];
  62. var idstr=$(id_node).val();
  63. var namestr=$(name_node).val();
  64. var ids=idstr.split(",");
  65. var names=namestr.split(",");
  66. //两个字段不为空时进行拼接操作,并把当前数据保留至备用位置
  67. if(_pr_id && _pr_name){
  68. var pr_id_node=parent.find("input:hidden[name="+_pr_id+"]")[0];
  69. var pr_name_node=parent.find("input:hidden[name="+_pr_name+"]")[0];
  70. var pr_idstr=$(pr_id_node).val();
  71. var pr_namestr=$(pr_name_node).val();
  72. if(pr_idstr){
  73. for(var i=0;i<ids.length;i++){
  74. var index=(pr_idstr+",").indexOf(ids[i]+",");
  75. if(index==-1){
  76. pr_idstr=pr_idstr+","+ids[i];
  77. pr_namestr=pr_namestr+","+names[i];
  78. }
  79. }
  80. $(pr_id_node).val(pr_idstr);
  81. $(pr_name_node).val(pr_namestr);
  82. $(id_node).val(pr_idstr);
  83. $(name_node).val(pr_namestr);
  84. }else{
  85. $(pr_id_node).val(idstr);
  86. $(pr_name_node).val(namestr);
  87. }
  88. }
  89. //把值显示出在多选框
  90. var sele=parent.find("select")[0];
  91. $(sele).empty();
  92. var result_str=$(id_node).val();
  93. if(result_str){
  94. var result_ids=result_str.split(",");
  95. var result_name=$(name_node).val().split(",");
  96. for(var i=0;i<result_ids.length;i++){
  97. var opt=new Option(result_name[i],result_ids[i]);
  98. opt.title=result_name[i];
  99. sele.add(opt);
  100. }
  101. }
  102. }

多行select中的数据展示和单个删除的更多相关文章

  1. C#-WinForm-ListView-表格式展示数据、如何将数据库中的数据展示到ListView中、如何对选中的项进行修改

    在展示数据库中不知道数量的数据时怎么展示最好呢?--表格 ListView - 表格形式展示数据 ListView 常用属性 HeaderStyle - "详细信息"视图中列标头的 ...

  2. jstl-将List中的数据展示到表格中

    功能: 使用jstl将List中的数据动态展示到Jsp表格中,并实现隔行换色功能. 效果图: Jsp代码: <%@ page import="java.util.ArrayList&q ...

  3. delete表1条件是另一个表中的数据,多表连接删除(转)

    DELETE删除多表数据,怎样才能同时删除多个关联表的数据呢?这里做了深入的解释: 1. delete from t1 where 条件 2.delete t1 from t1 where 条件 3. ...

  4. MVC设计模式((javaWEB)在数据库连接池下,实现对数据库中的数据增删改查操作)

    设计功能的实现: ----没有业务层,直接由Servlet调用DAO,所以也没有事务操作,所以从DAO中直接获取connection对象 ----采用MVC设计模式 ----采用到的技术 .MVC设计 ...

  5. 大数据技术之_25_手机APP信息统计系统项目_01_APP 数据生成模块 + 数据收集模块 + 数据处理模块框架搭建 + 业务需求处理 + 数据展示模块 +项目总结 + 问题总结

    一 项目概述1.1 角色1.2 业务术语1.3 项目效果展示二 项目需求三 项目概要3.1 项目技术架构3.2 项目目录结构3.3 项目技术选型3.4 项目整体集群规划3.5 创建项目工程四 APP ...

  6. html中的数据岛:利用DSO和javascript在html中动态加载和浏览xml数据

    1.DSO也叫做数据源对象,IE 4.0引入了DSO,在IE 5.0对DSO技术进行很大的扩展.以往如果数据是通过SQL语言对数据库进行查询得到的结果,那么就把它们存放在ADO(ActiveX Dat ...

  7. EF Core中如何通过实体集合属性删除从表的数据

    假设在数据库中有两个表:Person表和Book表,Person和Book是一对多关系 Person表数据: Book表数据: 可以看到数据库Book表中所有的数据都属于Person表中"F ...

  8. php实例根据ID删除mysql表中的数据

    在动态网站开发中,我们经常要根据ID删除表中的数据,例如用户删除帖子,就需要根据ID删除帖子.本文章向大家介绍php根据ID删除表中数据的实例,需要的朋友可以参考一下本文章的实例. php实例根据ID ...

  9. 默认情况下,不使用of子句表示在select所有的数据表中加锁(转)

    Select …forupdate语句是我们经常使用手工加锁语句.通常情况下,select语句是不会对数据加锁,妨碍影响其他的DML和DDL操作.同时,在多版本一致读机制的支持下,select语句也不 ...

随机推荐

  1. 高性能Web服务器Nginx的配置与部署研究(13)应用模块之Memcached模块+Proxy_Cache双层缓存模式

    通过<高性能Web服务器Nginx的配置与部署研究——(11)应用模块之Memcached模块的两大应用场景>一文,我们知道Nginx从Memcached读取数据的方式,如果命中,那么效率 ...

  2. Java-CSV文件读取

    import java.io.BufferedReader; import java.io.FileInputStream; import java.io.IOException; import ja ...

  3. 微软人工智能公开课 https://mva.microsoft.com/colleges/microsoftai#!jobf=Developer

    https://mva.microsoft.com/colleges/microsoftai#!jobf=Developer

  4. Java 依赖注入标准(JSR-330)简介

    作者:88250 ,Vanessa 时间:2009 年 11 月 19 日      Java 依赖注入标准(JSR-330,Dependency Injection for Java)1.0 规范已 ...

  5. fastDFS配置及日志查看 所遇到的问题

    FastDFS的配置文件在/usr/local/webserver/fastdfs/etc目录下,其中包括 client.conf    客户端上传配置文件 storage.conf    文件存储服 ...

  6. TTF字体基本知识及其在QT中的应用

    字体类型 以Windows为例,有4种字体技术: Raster:光栅型,就是用位图来绘制字形(glyph),每个字都以位图形式保存 Vector:矢量型,就是用一系列直线的结束点来表示字形 TrueT ...

  7. [C++] static member variable and static const member variable

    static member variable[可读可写] 可以通过指针间接修改变量的值 static const member variable[只读] 压根就不可以修改变量的值,会报错

  8. 朴素贝叶斯算法的python实现-乾颐堂

    算法优缺点 优点:在数据较少的情况下依然有效,可以处理多类别问题 缺点:对输入数据的准备方式敏感 适用数据类型:标称型数据 算法思想: 朴素贝叶斯 比如我们想判断一个邮件是不是垃圾邮件,那么我们知道的 ...

  9. gradle创建spring-boot项目

    刚来新公司,熟悉了公司项目搭建的框架,了解到了一种新的项目管理工具:gradle,从网上了解,据说比maven更加灵活化,于是便学习了一番.在此记录下来,一遍以后使用.gradle的安装就不说了,网上 ...

  10. MySQL 授权,回收权限,查看权限

    show GRANTS for root@localhost;flush privileges;SHOW PROCESSLIST; #全局授权,回收权限GRANT ALL ON *.* TO 'tes ...