精华内容
下载资源
问答
  • 多选窗口
    2022-01-25 16:12:20
    解决办法:
    .el-tag--small {
        height: 25px;
    }

    参考:element select多选选项卡页面抖动问题 - 无序 - 博客园

    更多相关内容
  • 项目中经常需要使用多选下拉交互的控件,于是自己封装了一个helper,用于选择状态的读取,当然还包括多选框样式,仅供参考学习
  • 自定义单选、多选对话框及popupwindow窗口实例源码是一个自定义的弹出对话框例子源码,弹出的时候有半透明效果,提供的有弹出单选(popwindow)、弹出多选(popwindow)、弹出单选(dialog)、弹出多选(dialog)等几种实现...
  • 自定义单选、多选对话框及popwindow窗口实例源码.zip项目安卓应用源码下载自定义单选、多选对话框及popwindow窗口实例源码.zip项目安卓应用源码下载 1.适合学生毕业设计研究参考 2.适合个人学习研究参考 3.适合公司...
  • Android应用源码开发Demo,主要用于毕业设计学习。
  • pb10.5下拉数据窗口进行多选源码(含Demo).zip
  • 示例: 代码: 父组件 <!-- 经营范围 --> <uni-popup ref="fw_popup" type="bottom"> <com-screen :list="fwList" :defultValue="type_ids" :type="Number(type)" @change="getIds" @close="close...

    示例:
    在这里插入图片描述

    代码:

    父组件
    <!-- 经营范围 -->
    <uni-popup ref="fw_popup" type="bottom">
    	<com-screen :list="fwList" :defultValue="type_ids" :type="Number(type)" @change="getIds" @close="close" :setType="true"></com-screen>
    </uni-popup>
    import comScreen from "@/components/com-screen/com-screen.vue"
    
    组件
    <template>
    	<!-- 经营范围选择 -->
    	<view class="screenCon" @tap.stop="tapstop">
    		<view class="headbar">
    			<image class="leftArrow" @click="tapCancel" src="/static/index/arrow.png" mode=""></image>
    			<text class="labelTitle">选择{{title}}</text>
    			<text class="confirm" @click="tapback">确定</text>
    		</view>
    		<scroll-view scroll-y="true" style="height: 450rpx; width: 710rpx;" :show-scrollbar="false">
    			<view class="optionCon"> 
    				<view class="optionitem" :class="ids.indexOf(item.id) >=0 ?'activeitem':''" v-for="(item,index) in lists" :key="index"
    					@click="tapitem(item.id)">
    					<text class="optionname" :class="ids.indexOf(item.id) >=0 ?'activename':''">{{item.name}}</text>
    				</view>
    			</view>
    			<view class="" style="height: 40rpx;"></view>
    		</scroll-view>
    	</view>
    </template>
    
    <script>
    	export default {
    		name: "indexScreen",
    		props:{
    			//选择类型  1经营范围 2承包范围 3工作性质
    			type:{
    				type: Number,
    				default: 1,
    			},
    			title:{
    				type:String,
    				default:'经营范围(最多三项)'
    			},
    			list:{
    				type: Array,
    				default: [],
    			},
    			setType:{
    				type: Boolean,
    				default: false, //表示为注册,true 搜索为false
    			},
    			defultValue:{
    				type:String,
    				default:''
    			}
    		},
    		data() {
    			return {
    				types:0,
    				current: 0,
    				ids:[],
    				indexs:[],
    				lists:[],
    			};
    		},
    		created() {
    			this.types = this.type;
    			if(this.defultValue != ''){
    				this.ids = this.defultValue.split(',').map(Number); 
    				console.log(this.ids);
    			}
    			setTimeout(()=>{
    				this.lists = this.list;
    			},300)
    		},
    		//  watch: {
    		// 	// type: function(type1,oldtype){
    		// 	// 	console.log(type1,oldtype)
    		// 	// 	this.types = type1;  //newVal即是chartData
    		// 	// } 
    		// },
    		destroyed() {
    			this.$off('change')
    		},
    		methods: {
    			tapstop() {},
    			tapitem(id){
    				console.log(this.type)
    				if(this.ids.indexOf(id) >=0){
    					this.ids.splice(this.ids.indexOf(id),1)
    				}else{ 
    					if(this.setType){//注册情况
    						if(this.ids.length< 3 && this.type!=2){
    							this.ids.push(id);
    							return
    						}
    					}else{
    						this.ids.push(id);
    						return
    					}
    					
    				}
    			},
    			tapback(){ 
    				let idss =this.ids.join(',');
    				console.log(idss)
    				this.$emit('change',idss)
    			},
    			tapCancel(){
    				this.$emit('close',{})
    			}
    		}
    	}
    </script>
    
    <style lang="scss">
    	.screenCon {
    		width: 750rpx;
    		padding: 0rpx 20rpx;
    		border-top-left-radius: 20rpx;
    		border-top-right-radius: 20rpx;
    		background-color: #FFFFFF;
    		flex-direction: column;
    		justify-content: center;
    		align-items: center;
    	}
    
    	.headbar {
    		width: 710rpx;
    		/* #ifndef APP-NVUE */
    		display: flex;
    		/* #endif */
    		flex-direction: row;
    		justify-content: space-between;
    		border-bottom: 1px solid #EEEEEE;
    		padding: 25rpx 20rpx;
    	}
    
    	.leftArrow {
    		width: 43rpx;
    		height: 43rpx;
    	}
    
    	.labelTitle {
    		font-size: 30rpx;
    		color: #333333;
    		font-weight: bold;
    	}
    
    	.confirm {
    		font-size: 30rpx;
    		color: #F39D0E;
    		font-weight: bold;
    	}
    
    	.optionCon {
    		/* #ifndef APP-NVUE */
    		display: flex;
    		/* #endif */
    		flex-direction: row;
    		flex-wrap: wrap;
    		justify-content: space-between;
    		padding-bottom: 20rpx;
    	}
    
    	.optionitem {
    		width: 340rpx;
    		height: 80rpx;
    		margin-top: 25rpx;
    		padding: 0 5rpx;
    		font-size: 26rpx;
    		border-radius: 20rpx;
    		background: #EEEEEE;
    		text-align: center;
    		border: 1px solid #EEEEEE;
    		/* #ifndef APP-NVUE */
    		display: flex;
    		/* #endif */
    		flex-direction: row;
    		justify-content: center;
    		align-items: center;
    	}
    
    	.optionname {
    		width: 330rpx;
    		height: 80rpx;
    		font-size: 26rpx;
    		font-weight: 400;
    		color: #333333;
    		/* #ifndef APP-NVUE */
    		display: flex;
    		/* #endif */
    		flex-direction: row;
    		justify-content: center;
    		align-items: center;
    		text-align: center;
    		line-height: 80rpx; 
    		overflow: hidden;
    		/* #ifndef APP-NVUE */
    		white-space: nowrap;
    		/* #endif */
    		text-overflow: ellipsis;
    
    	}
    
    	.activeitem {
    		background-color: #FFE9D2;
    		border: 1px solid #FB8C16;
    		color: #F39A10;
    		// text-align: center;
    	}
    
    	.activename {
    		color: #F39A10;
    	}
    </style>
    
    
    展开全文
  • 自定义单选、多选对话框及popupwindow窗口实例源码是一个自定义的弹出对话框例子源码,弹出的时候有半透明效果,提供的有弹出单选(popwindow)、弹出多选(popwindow)、弹出单选(dialog)、弹出多选(dialog)等几种实现...
  • 数据窗口多选

    2014-06-13 17:28:34
    powerbuilder实现数据窗口多选功能
  • 本文实例讲述了JS实现单击输入框弹出选择框效果的方法。分享给大家供大家参考,具体如下: 运行效果截图如下: 完整实例代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ...
  • android 自定义单选、多选对话框及popwindow窗口实例源码.zip
  • singleSelect : true, // 设置为true将禁止多选 多选 singleSelect : false, // 设置为true将禁止多选 示例 function load() { $('#exampleTable') .bootstrapTable({ method: 'get', // 服务器数据的...

    单选

    singleSelect : true, // 设置为true将禁止多选

    多选

    singleSelect : false, // 设置为true将禁止多选

     

    示例

    function load() {
        $('#exampleTable')
            .bootstrapTable({
                method: 'get', // 服务器数据的请求方式 get or post
                url: prefix + "/list", // 服务器数据的加载地址
                iconSize: 'outline',
                toolbar: '#exampleToolbar',
                striped: true, // 设置为true会有隔行变色效果
                dataType: "json", // 服务器返回的数据类型
                pagination: true, // 设置为true会在底部显示分页条
                // queryParamsType : "limit",
                // //设置为limit则会发送符合RESTFull格式的参数
                singleSelect: false, // 设置为true将禁止多选
                // contentType : "application/x-www-form-urlencoded",
                // //发送到服务器的数据编码类型
                pageSize: 10, // 如果设置了分页,每页数据条数
                pageNumber: 1, // 如果设置了分布,首页页码
                //search : true, // 是否显示搜索框
                showColumns: false, // 是否显示内容下拉框(选择显示的列)
                sidePagination: "server", // 设置在哪里进行分页,可选值为"client" 或者 "server"
                queryParams: function (params) {
                        return {
                            //说明:传入后台的参数包括offset开始索引,limit步长,sort排序列,order:desc或者,以及所有列的键值对
                            limit: params.limit,
                            offset: params.offset,
                            //sort : null==params.sort?null:params.sort.replace(/([A-Z])/g,"_$1").toLowerCase(), //驼峰转下划线
                            //order : params.order,
                            listName: $('#listName').val(),
                            remarks: $('#remarks').val()
                        };
                    },
                    
                    columns: [{
                            checkbox: true,
                            formatter: 'stateFormatter'
    
                        }, {
                            field: 'listName',
                            title: '列表名称'
                        }, {
                            field: 'remarks',
                            title: '备注'
                        }, {
                            title: '操作',
                            field: 'id',
                            align: 'center',
                            formatter: function (value, row, index) {
                                var e = '<a class="btn btn-primary btn-sm ' + s_edit_h + '" href="#" mce_href="#" title="编辑" onclick="edit(\'' + row.mylistId + '\')"><i class="fa fa-edit"></i>查看</a> ';
    
                                return e;
                            }
                        }
                    ]
            });
    }

     

    展开全文
  • 基于bootstrap的multselect左右多选

    千次阅读 2018-04-17 09:51:18
    * 修改用户角色多选多数据 */ @ResponseBody @RequestMapping(value = "/editUserRoles", produces = {"application/json;charset=UTF-8"}) public ResponseData editUserRoles(HttpServletRequest request){ ...

    1,控件官网文档:

    http://www.jiaoben123.com/uploadfiles/demo/d19cb85fac5b4c74bb4e387852f7d23b/#documentation
    在这里插入图片描述

    2,页面基本结构

    <div class="row">
    	<div class="col-xs-5">
    		<select name="from" id="multiselect" class="form-control" size="8" multiple="multiple">
    			<option value="1">Item 1</option>
    			<option value="2">Item 5</option>
    			<option value="2">Item 2</option>
    			<option value="2">Item 4</option>
    			<option value="3">Item 3</option>
    		</select>
    	</div>
    	
    	<div class="col-xs-2">
    		<button type="button" id="multiselect_rightAll" class="btn btn-block"><i class="glyphicon glyphicon-forward"></i></button>
    		<button type="button" id="multiselect_rightSelected" class="btn btn-block"><i class="glyphicon glyphicon-chevron-right"></i></button>
    		<button type="button" id="multiselect_leftSelected" class="btn btn-block"><i class="glyphicon glyphicon-chevron-left"></i></button>
    		<button type="button" id="multiselect_leftAll" class="btn btn-block"><i class="glyphicon glyphicon-backward"></i></button>
    	</div>
    	
    	<div class="col-xs-5">
    		<select name="to" id="multiselect_to" class="form-control" size="8" multiple="multiple"></select>
    	</div>
    </div>
    
    控件id命名规则:左边的select的id如果为:testid,则所有按钮和右边的select的Id前缀都要为testid
    <script type="text/javascript">
        jQuery(document).ready(function($) {
        	$('#multiselect').multiselect();
        });
    </script>
    

    3,实际案例

    案例为用户授予角色,一个用户可有多个角色,需要用户表,角色表,用户角色关联表

    3.1,后台构建multselect的数据源

    从角色表获取所有角色,并区分已授予的角色,ISNULL(u.rcode)是当sys_user_role表没有用户角色则返回1,如果有则返回0

     <select id="getMultselectRoles" parameterType="java.lang.Integer" resultType="java.util.HashMap">
        SELECT r.rcode,r.rname,ISNULL(u.rcode) AS chick
        FROM sys_role r
        LEFT JOIN sys_user_role u ON u.rcode=r.rcode AND u.uid=#{uid}
      </select>
    

    3.2,前台使用ajax获取multselect的数据源

    //打开编辑角色弹层
    function editRoleModal(uid){
        userid=uid;
        $("#multiselectleft").empty();
        $("#multiselectleft_to").empty();
        $.ajax({
            type: "POST",dataType: "JSON",
            url:"/role/getMultselectRoles",
            data: {uid:uid},
            async : false,
            success: function(data){
                if(data.code==200){
                    var options=data.data;
                    var selectleft = '';
                    var selectright = '';
                    //<option value="3" data-position="3">Item 3</option>
    				for(var i=0;i<options.length;i++){
    					if(options[i].chick){
                            selectright+='<option value="'+options[i].rcode+'" data-position="'+options[i].rcode+'">'+options[i].rname+'</option>';
    					}else{
                            selectleft+='<option value="'+options[i].rcode+'" data-position="'+options[i].rcode+'">'+options[i].rname+'</option>';
    					}
    				}
    				$("#multiselectleft").append(selectleft);
    				$("#multiselectleft_to").append(selectright);
                }else{
                    layer.msg(data.msg,{icon:5,time:1000});
                }
            }
        });
        $('#multiselectleft').multiselect();
        $("#roleModal").modal("show");
    }
    

    3.3,使用模态框显示角色授权编辑框

    <!-- 修改用户角色模态框(Modal) -->
    <div class="modal fade" id="roleModal" tabindex="-2" role="dialog" aria-labelledby="editRoleLabel" aria-hidden="true">
    	<div class="modal-dialog">
    		<div class="modal-content">
    			<div class="modal-header">
    				<button type="button" class="close" data-dismiss="modal" aria-hidden="true">
    					&times;
    				</button>
    				<h4 class="modal-title" id="editRoleLabel">
    					编辑角色
    				</h4>
    			</div>
    			<div class="modal-body row">
    				<div class="col-lg-5">
    					<h4>已有角色</h4>
    					<select name="from[]" id="multiselectleft" class="form-control has-success" size="10" multiple="multiple">
    					</select>
    				</div>
    
    				<div class="col-lg-2" style="margin-top: 50px;">
    					<button type="button" id="multiselectleft_rightAll" class="btn btn-block"><i class="glyphicon glyphicon-forward"></i></button>
    					<button type="button" id="multiselectleft_rightSelected" class="btn btn-block"><i class="glyphicon glyphicon-chevron-right"></i></button>
    					<button type="button" id="multiselectleft_leftSelected" class="btn btn-block"><i class="glyphicon glyphicon-chevron-left"></i></button>
    					<button type="button" id="multiselectleft_leftAll" class="btn btn-block"><i class="glyphicon glyphicon-backward"></i></button>
    				</div>
    				<div class="col-lg-5">
    					<h4>未授予角色</h4>
    					<select name="to[]" id="multiselectleft_to" class="form-control" size="10" multiple="multiple"></select>
    				</div>
    			</div>
    			<div class="modal-footer">
    				<button type="button" class="btn btn-primary" onclick="submitRole();">提交</button>
    				<button type="button" class="btn btn-default" data-dismiss="modal">取消</button>
    			</div>
    		</div><!-- /.modal-content -->
    	</div><!-- /.modal -->
    </div>
    

    3.4,提交角色修改

    userid为全局变量,在打开模态框时被赋值

    //提交授予角色
    function submitRole() {
        var array = new Array();  //定义数组
        $("#multiselectleft option").each(function(){  //遍历所有option
            var txt = $(this).val();   //获取option值
            if(txt!=''){
                array.push({rcode:txt,uid:userid});  //添加到数组中
            }
        });
        var param = {multselect:JSON.stringify(array),uid:userid};
        $.ajax({
            type: "POST",dataType: "JSON",
            url:"/role/editUserRoles",
            data: param,
            async : false,
            success: function(data){
                if(data.code==200){
                    $("#roleModal").modal("hide");
                    layer.msg(data.msg,{icon:6,time:1000});
                    $("#userListTable").bootstrapTable("refresh");
                }else{
                    layer.msg(data.msg,{icon:5,time:1000});
                }
            }
        });
    }
    

    3.5,后台数据处理

    import net.sf.json.JSONArray;
    /**
     * 修改用户角色多选多数据
     */
    @ResponseBody
    @RequestMapping(value = "/editUserRoles", produces = {"application/json;charset=UTF-8"})
    public ResponseData editUserRoles(HttpServletRequest request){
        ResponseData res = new ResponseData();
        try {
            int uid = Integer.parseInt(request.getParameter("uid"));
            String rolejson=request.getParameter("multselect");
            List<HashMap>  rolemodules = JSONArray.fromObject(rolejson);
            roleService.editUserRole(rolemodules,uid);
            res.setSuccess(true);
            res.setMsg("操作成功");
        } catch (Exception e) {
            res.setSuccess(false);
            e.printStackTrace();
            res.setMsg("系统异常");
        }
        return res;
    }
    
    
    /**
     *service层添加事务,进行多条sql操作
     * 删除用户角色,再批量插入
     */
    @Override
    public void editUserRole(List<HashMap> roles,Integer uid) {
         dao.deleteUserRole(uid);
         if(roles.size()>0){
             dao.addUserRoles(roles);
         }
    }
    //使用foreach批量插入用户角色关联表数据
    <insert id="addUserRoles">
        insert into sys_user_role(uid,rcode)
        values
        <foreach collection="list" item="emp" separator=",">
          (#{emp.uid},#{emp.rcode})
        </foreach>
    </insert>
    

    3.6,bootstrap multselect插件必须的js与css

    https://download.csdn.net/download/u012796085/10353961

    展开全文
  • 源码参考,欢迎下载
  • pb数据窗口按shift、ctrl多选行_源代码 1、定义整型实例变量prerow,记录按住Ctrl键和Shift键时点击的行号。 2、数据窗口clicked事件中增加代码
  • 多选

    2021-02-19 14:42:55
    您还将学习如何将JSON数据和远程数据源填充到MultiSelect Dropdown List中,如何对数据源进行排序,以及如何为MultiSelect Dropdown List弹出窗口设置自定义高度和宽度。 文档链接: : 演示链接: : 项目先决...
  • 自定义单选、多选对话框及popwindow窗口实例源码.zip安卓程序源码资源下载自定义单选、多选对话框及popwindow窗口实例源码.zip安卓程序源码资源下载 1.适合学生做毕业设计用 2.适合程序员学习研究用 3.适合新手自学...
  • 安卓开发-自定义单选、多选对话框及popwindow窗口实例源码
  • Android应用源码之自定义单选、多选对话框及popwindow窗口实例源码.zip
  • 安卓Andriod源码——自定义单选、多选对话框及popwindow窗口实例源码.zip
  • 安卓Android源码——自定义单选、多选对话框及popwindow窗口实例源码.zip
  • 安卓Android源码——自定义单选、多选对话框及popwindow窗口实例源码.rar
  • Android高级应用源码-自定义单选、多选对话框及popwindow窗口实例源码.zip
  • Android应用源码之自定义单选、多选对话框及popwindow窗口实例源码.zip项目安卓应用源码下载Android应用源码之自定义单选、多选对话框及popwindow窗口实例源码.zip项目安卓应用源码下载 1.适合学生毕业设计研究参考 ...
  • 1.本程序的对话框和OpenFileDialog对话框一样,可以输入路径, 2.可以选择选择文件夹,同时选择多个文件夹。 3.也可以选择选择文件,同时选择多个文件。 应用代码非常简单。 ...再也不用FolderBrowserDialog这个老土...
  • 本例子是一个自定义的弹出对话框例子源码,弹出的时候有半透明效果,提供的有弹出单选(popwindow)、弹出多选(popwindow)、弹出单选(dialog)、弹出多选(dialog)等几种实现形式,点击监听都在例子里面写好了如果有这...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 22,778
精华内容 9,111
关键字:

多选窗口