bootstrap 表单中的select下拉列表数据动态加载和selected

bootstrap selectpicker 动态加载数据 实现: spring mvc负责后台,ajax负责前台。所有代码均为本人工程中真正应用的代码,肯定可行,网上找到各种大bug的代码真是moutain people moutain sea啊!!!! 下拉框写法(是否带搜索功能之类的看业务要求和您个人喜好了): 选择学校--: id="schoolno" name="schoolno" class="selectpicker" > 阅读详情

设计实现

采用的是ajax 和 js来实现

1.在页面加载中触发ajax动态数据获取事件

2.将获取到的数据动态的赋值到<option>标签中

需要注意的点:

1.ajax的数据refresh和清除

$('.selectpicker').selectpicker('val', '');  
$('.selectpicker').selectpicker('refresh');   

2.selected 选择后数据的获取

var category = $.trim($('#slpk option:selected').val());

3.对成功接收的数据的处理

以json格式为例

接口返回数据

{
    "total": 6,
    "rows": [
        {
            "id": 1,
            "crTime": 1526973188000,
            "name": "娱乐",
            "level": 1,
            "parentLevel": "root",
            "visibility": null,
            "bookmarkNumber": 1692
        },
        {
            "id": 3,
            "crTime": 1527159165000,
            "name": "科技",
            "level": 1,
            "parentLevel": "root",
            "visibility": null,
            "bookmarkNumber": 740
        },
        {
            "id": 9,
            "crTime": 1537932274000,
            "name": "时尚",
            "level": 1,
            "parentLevel": "root",
            "visibility": null,
            "bookmarkNumber": 257
        },
        {
            "id": 10,
            "crTime": 1537932282000,
            "name": "金融",
            "level": 1,
            "parentLevel": "root",
            "visibility": null,
            "bookmarkNumber": 397
        },
        {
            "id": 11,
            "crTime": 1537932290000,
            "name": "教育",
            "level": 1,
            "parentLevel": "root",
            "visibility": null,
            "bookmarkNumber": 66
        },
        {
            "id": 13,
            "crTime": 1542787072000,
            "name": "拓展资源",
            "level": 1,
            "parentLevel": "root",
            "visibility": null,
            "bookmarkNumber": 136
        }
    ]
}

ajax处理数据

success : function(datas) {//返回list数据并循环获取  
                var select = $("#slpk");
                for (var i = 0; i < datas.rows.length; i++) { 
                	select.append("<option value='"+datas.rows[i].name+"'>"  
                            + datas.rows[i].name + "</option>");  
                } 
            }

 jsp 源码

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<link rel="stylesheet"
	href="${pageContext.request.contextPath}/static/bootstrap/css/bootstrap.min.css">
	<link rel="stylesheet"
	href="${pageContext.request.contextPath}/static/css/bootstrap-select.min.css">
<link rel="stylesheet"
	href="${pageContext.request.contextPath}/static/bootstrap-table-1.8.1/src/bootstrap-table.css">
<link rel="stylesheet"
	href="${pageContext.request.contextPath}/static/bootstrap-table-1.8.1/dist/bootstrap-table.min.css">
<!-- 行内修改css要放在bootstrap 和bootstrap-table后 -->
<link rel="stylesheet"
	href="${pageContext.request.contextPath}/static/bootstrap-table-1.8.1/bootstrap3-editable/css/bootstrap-editable.css"
	rel="stylesheet">
<script src="${pageContext.request.contextPath}/static/js/jquery.min.js"></script>
<script
	src="${pageContext.request.contextPath}/static/bootstrap/js/bootstrap.min.js"></script>
<script
	src="${pageContext.request.contextPath}/static/bootstrap-table-1.8.1/src/bootstrap-table.js"></script>
<script
	src="${pageContext.request.contextPath}/static/bootstrap-table-1.8.1/dist/bootstrap-table.min.js"></script>
<script
	src="${pageContext.request.contextPath}/static/bootstrap-table-1.8.1/src/locale/bootstrap-table-zh-CN.js"></script>
<script type="text/javascript"
	src="${pageContext.request.contextPath}/static/ztree/js/jquery.ztree.core.min.js"></script>
<script type="text/javascript"
	src="${pageContext.request.contextPath}/static/js/bootstrap-select.min.js"></script>
<script
	src="${pageContext.request.contextPath}/static/bootstrap-table-1.8.1/dist/extensions/editable/bootstrap-table-editable.min.js"></script>
<!--行内修改数据  js要放在bootstrap 和bootstrap-table后-->
<script
	src="${pageContext.request.contextPath}/static/bootstrap-table-1.8.1/bootstrap3-editable/js/bootstrap-editable.min.js"></script>

<title>RSS管理</title>
</head>
<body>
	<button class="btn btn-info btn-search" style="margin-left: 3px"
		data-toggle="modal" data-target="#myModal" >添加rss源</button>
	<table id="table"></table>
	<!-- 模态框(Modal) -->
	<div class="modal fade" id="myModal" tabindex="-1" role="dialog"
		aria-labelledby="myModalLabel" 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="myModalLabel" onclick="dataSelect">添加rss源</h4>
				</div>
				<form id="form_data">
					<div class="modal-body">
						<!--   user_id: <input type="text" id="id" name="id"/> -->
						<div class="form-group">
						<div class="form-group">
							<label>rss源名称</label> <input type="text" class="form-control"
								id="rssname">
						</div>
						<div class="form-group">
							<label>rss源URL</label> <input type="text" class="form-control"
								id="rssurl">
						</div>
							<label>rss源分类</label>
							<select id="slpk" class="form-control selectpicker" ></select>  
							<!-- <select class="form-control" id="category">
								<option value="娱乐">娱乐</option>
								<option value="科技">科技</option>
								<option value="时尚">时尚</option>
								<option value="金融">金融</option>
								<option value="教育">教育</option>
								<option value="前端">前端</option>
								<option value="瞎推荐">瞎推荐</option>
								<option value="拓展资源">拓展资源</option>
							</select> -->
						</div>
						
						<input type="hidden" id="act" value="add" name="act" />
					</div>
					<div class="modal-footer">
						<button type="button" class="btn btn-default" data-dismiss="modal">关闭
						</button>
						<button type="button" onclick="add_info()" class="btn btn-primary">
							提交</button>
					</div>
				</form>
			</div>
			<!-- /.modal-content -->
		</div>
		<!-- /.modal -->
	</div>
</body>
<script type="text/javascript">
	$('#table')
			.bootstrapTable(
					{
						url : '${pageContext.request.contextPath}/RSS/getAllRSS',
						striped : true, // 隔行加亮
						pagination : true, //是否显示分页(*)
						sortable : false, //是否启用排序
						sortOrder : "desc", //排序方式
						toolbar : toolbar, //工具按钮用哪个容器  
						singleSelect : true,
						dataType : "json",
						contentType : "application/json",
						pageNumber : 1, //初始显示时页面序号                  
						pageSize : 10, //初始显示时页面大小                   
						pageList : [ 5, 10, 20, 50 ], //可供选择的每页的行数
						clickToSelect : true, //是否启用点击选中行
						sidePagination : "server",
						queryParamsType : "",
						queryParams : getPageMessage,//传参数到后台
						minimunCountColumns : 2,
						showToggle : true, //是否显示详细视图和列表视图的切换按钮
						showColumns : true, //是否显示所有的列
						showRefresh : true, //是否显示刷新按钮
						onDblClickRow : function(row, $element) {
							var id = row.ID;
							EditViewById(id, 'view');
						},
						columns : [
								{
									field : "id",
									title : "ID"
								},
								{
									field : "rssname",
									title : "rss源名称"
								},
								{
									field : "rssurl",
									title : "rss源地址",
									formatter : function(value, row, index) {
										return '<a href = "'+value+'" target="_Blank">'
												+ value + '</a>';
									}
								},
								{
									field : "rsscategory",
									title : "rss源分类"
								},
								{
									title : '操作',
									field : 'id',
									align : 'center',
									formatter : function(value, row, index) {
										return '<a href="${pageContext.request.contextPath}/RSS/deleteRSS?id='
												+ value
												+ '" onclick="return del()">删除</a> ';
									}
								} ]

					});
	//传递参数到后台
	function getPageMessage(params) {
		var temp = {
			pageSize : params.pageSize,//页面大小
			pageNumber : params.pageNumber, //第几页开始查询
		};
		return temp;
	}
	//确认删除
	function del() {
		if (!confirm("确认要删除?")) {
			window.event.returnValue = false;
		}
	}
	// 提交表单
	function add_info() {
		var category = $.trim($('#slpk option:selected').val());
		var rssname = $.trim($('#rssname').val());
		var rssurl = $.trim($('#rssurl').val());
		$.ajax({
			url : "${pageContext.request.contextPath}/RSS/addRSS",
			data : {
				rsscategory : category,
				rssurl : rssurl,
				rssname : rssname
			},
			type : "post",
			beforeSend : function() {
				$("#tip").html("<span style='color:blue'>正在处理...</span>");
				return true;
			},
			success : function(data) {
				if (null != data) {

					var msg = "添加";
					if (act == "edit")
						msg = "编辑";
					$("#tip").html(
							"<span style='color:blueviolet'>恭喜," + msg
									+ "成功!</span>");
					alert(msg + "成功");
					location.reload();
				} else {
					$("#tip").html("<span style='color:red'>失败,请重试</span>");
					alert('操作失败');
				}
			},
			error : function() {
				alert('rss已存在');
			},
			complete : function() {
				$('#acting_tips').hide();
			}
		});

		return false;
	}
	
	$(function () { 
		 var selectedValues = [];      
	    $("slpk:selected").each(function(){  
	    selectedValues.push($(this).val());   
	    });  
         $(".selectpicker").selectpicker({  
            noneSelectedText : '请选择'  
        });   
        $(window).on('load', function() {  
            $('.selectpicker').selectpicker('val', '');  
            $('.selectpicker').selectpicker('refresh');  
        }); 
        //下拉数据加载  
        $.ajax({  
            type : 'get',  
            url : "${pageContext.request.contextPath}/category/findCategory",  
            dataType : 'json',      
            success : function(datas) {//返回list数据并循环获取  
                var select = $("#slpk");
                for (var i = 0; i < datas.rows.length; i++) { 
                	select.append("<option value='"+datas.rows[i].name+"'>"  
                            + datas.rows[i].name + "</option>");  
                }  
                $('.selectpicker').selectpicker('val', '');  
                $('.selectpicker').selectpicker('refresh');   
            } 
            
        });  
    });  
</script>
</html>

 

Bootstrap select2之下拉框可自定义输入和选择 bootstrap select2插件下拉框以及自定义输入的写法 阅读详情

相关推荐

Bootstrap-Table行内编辑实现:提升Web数据操作效率的实战方案

在Web应用开发中,表格作为数据展示与操作的核心组件,其交互效率直接影响用户体验。传统弹窗编辑模式在频繁操作场景下存在流程中断问题,而行内编辑技术通过允许用户直接在表格行内修改数据,实现了所见即所得的流畅操作。其技术原理在于动态切换单元格的视图状态,结合状态管理维护原始数据、视图数据与待提交数据的清晰分离。从技术价值看,行内编辑不仅提升了数据操作效率,更是深入理解数据驱动视图和组件化开发的实践案例。在后台管理系统、数据中台等需要批量处理商品价格、用户状态、考试成绩等场景中,该技术能显著优化工作流。本文以bo

weixin_34292402的博客 394

bootstrap-select动态加载数据和多级联动

最近使用bootstrap-select在做了一个地址的联动,效果图如下 环境相关 bootstrap 3.3.7 jquery 3.3.1 bootstrap-select 1.13.9 1、数据表结构如下 -- 地址配置表(address_config) create table address_config ( option_value varchar(20) not null comm...

q283614346的博客 1万+

解决bootstrap-select 动态加载数据不显示的问题

今天小编就为大家分享一篇解决bootstrap-select 动态加载数据不显示的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

bootstrap-select 滚轴_Bootstrap-select(selectpicker)的使用说明

1、首先引入selectpicker插件js,css由于:例子中用使用的是jquery语法和bootstrap前端框架,所以还要引入注意:jQuery.js引入时要在其他js文件之前,否则js中无法识别jQuery语法2、示例代码:@foreach (var item inViewBag.mechineNameLists){@item.HOUSENAME}View Code3、属性说明select...

weixin_39603117的博客 1002

一文详解脉搏血氧测量原理与方法

本文摘要:血氧饱和度(SpO2)是评估人体氧合功能的重要指标,反映血红蛋白携氧能力。其测量基于光电容积描记法(PPG),利用红光(660nm)和红外光(940nm)通过组织时的吸收差异计算。脉搏波特征与心血管状态相关,动脉硬化会影响波形特征。Masimo公司的信号提取技术(SET)通过并行算法有效解决了传统血氧仪在运动、弱灌注情况下的测量误差问题,显著提升了临床监测的准确性和可靠性。该技术已成为血氧监测的金标准,在降低误报率、缩短响应时间方面具有显著优势。

m0_50146396的博客 2015

Rclone替代RaiDrive?零广告免费挂载Alist WebDAV到Windows资源管理器(含自启脚本)

本文详细介绍了如何使用开源工具Rclone替代RaiDrive,实现零广告、全免费的Alist WebDAV挂载方案。通过深入解析配置参数、提供完整的自启动解决方案和解决常见问题,帮助用户在Windows资源管理器中高效管理云存储,提升使用体验。

weixin_33709364的博客 636

告别臃肿加载!Bootstrap-select 模块化开发实战指南

你是否遇到过网页加载缓慢的问题?特别是当项目中引入了多个 JavaScript 插件时,资源加载往往成为性能瓶颈。Bootstrap-select 作为一款强大的下拉框增强插件,通过 UMD(Universal Module Definition)模块化设计,完美支持多种加载方式,帮助开发者实现按需加载,显著提升网页性能。本文将从模块化原理、加载配置到实战案例,全方位带你掌握 Bootstrap-...

gitblog_00274的博客 707

RV1126 ISP开发实战:从Tuner调试到IQ文件解析

本文详细介绍了RV1126 ISP开发的完整流程,从Tuner调试到IQ文件解析,涵盖了环境搭建、工具使用、参数配置及性能优化等关键环节。通过实战案例和避坑指南,帮助开发者快速掌握Rockchip芯片的ISP开发技巧,提升图像处理质量。

weixin_29195615的博客 571

bootstrap中select的使用(selectpicker)

目录selectpicker简介一些api1.multiple2.data-none-selected-text3.data-style4.data-show-tick、data-live-search、data-none-results-text、data-actions-box、data-select-all-text、data-deselect-all-text通过js控制一些其他apise...

weixin_41308870的博客 9702

【回归预测】GRNN广义回归神经网络-MATLAB

广义回归神经网络(GRNN)是一种基于径向基函数(RBF)的神经网络模型,主要用于非线性回归任务。与传统的回归分析方法相比,GRNN具有更强的非线性映射能力和学习速度,能够快速逼近复杂的非线性关系。输入层、模式层、求和层和输出层。输入层接收输入数据,模式层通过径向基函数将输入映射到高维空间,求和层对模式层的输出进行加权求和,最后输出层生成预测结果。GRNN的核心思想是利用高斯核函数计算输入与训练样本之间的相似度,然后根据相似度加权平均得到预测值。

2303_77200324的博客 1091

一文解释电路中常用电子元器件应用和选型01

电容和二极管是电路中最常用的两个电子元器件,种类和系列众多,这里简单总结一下应用场景和选型方式 电容(Capacitor) 电容的种类(20种以上)和应用非常广泛,但是我经常遇到的无非就是下面这几种: 应用 1.隔直流。 2.旁路(去耦) 3.耦合 4.滤波 5.温度补偿 6.计时 7.调谐 8.整流 9.储能 种类 1. 陶瓷电容 2. 云母电容 3. 铝电解电容 4. 钽

weixin_43904073的博客 2237

bootstrap-select 滚轴_Bootstrap-Select插件

Bootstrap Select 是使用按钮下拉的 Bootstrap 风格的自定义的选项和多选。optionOptions can be passed via data attributes or JavaScript. For data attributes, append the option name to data-, as in data-style=”” or data-select...

weixin_36410277的博客 333

华为OD机试双机位C卷-部门人力分配 (Py/Java/C/C++/Js/Go)

华为OD机试(机考)双机位C卷 【部门人力分配】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试 - 部门人力分配。

qq_45776114的博客 1873

DouyinLiveRecorder完整指南:一条命令录下抖音、B站、快手等多平台直播

DouyinLiveRecorder 是一款基于 FFmpeg 的 Python 多平台直播录制工具。把主播直播间地址写进配置文件,程序就会循环值守,开播时自动开始录制,下播后视频存入本地 `downloads` 目录。它支持抖音、TikTok、快手、虎牙、斗鱼、B站、小红书、Twitch、SOOP 等 40+ 平台,Windows 和 Linux 都能跑,也支持 Docker 容器部署。 ##

gitblog_00669的博客 422

GTK4 入门到实战

本文介绍GTK4作为主流Linux GUI工具包的发展历程与核心特性,涵盖其从GIMP项目诞生的自由软件理念、版本演进及跨平台支持。重点解析GTK4的架构(GDK/GSK/GLib等)、GObject对象系统、信号-回调机制与事件驱动模型,并以C语言为例,结合开发环境搭建与官方示例(gtk4-demo)指导实践,最终通过图片查看器与多标签编辑器项目实现完整应用开发。

OneSea 1396

高通IPA硬件加速介绍

‌ 高通IPA (Internet Protocol Accelerator)模块是一种硬件加速模块,由高通公司(Qualcomm)提供,主要用于优化移动设备上的网络数据传输,特别是通过 LTE 、 5G 等移动网络的数据传输‌‌。IPA模块通过硬件加速,显著提高了数据传输的速度和效率,同时降低了设备的功耗,并提供了更稳定的网络连接,减少了数据传输中的丢包和延迟‌。

四儿家的小祖宗的博客 1623

uiv表单组件全攻略:构建响应式表单的8个实用技巧

uiv是一个基于Vue.js实现的Bootstrap 3组件库,它提供了一套完整、轻量级的表单组件解决方案。通过uiv表单组件,开发者可以快速构建美观、功能强大的响应式表单界面,大大提升开发效率。本文将为您详细介绍uiv表单组件的核心功能和使用技巧,帮助您掌握构建现代化表单的8个实用技巧。 ## 1. 日期时间选择器的灵活应用 uiv的DatePicker组件是一个轻量级且高度可配置的日期选择

gitblog_00800的博客 869

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

AngularJs搭配Bootstrap-select的防坑指南

一、前因 公司的项目早就上线了,现在正处于逐步的优化当中,其中有一个就是关于下拉框的优化。因为随着公司业务的开展,进驻的经销商已经有上百家了,而普通的下拉框对选取某一个经销商着实有一定的效率低下,因此需要优化。由于网上大多数都是JQuery与boorstrap-select的搭配应用,与angularjs之间的搭配较少,因此想着写一篇拙劣的指南,如有错误,还请不吝指教! 转载请注明出处! 优...

Ai_Ting_Java的博客 5878

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Bootstrap Multiselect 下拉框多选插件的回显问题

插件官网:http://davidstutz.de/bootstrap-multiselect/ “修改” 等需要回显的操作,按如下逻辑实现回显(自动勾上已选值): 实测有效方式有2种: 第1种: 先给SELECT标签填入OPTION,同时在 需要勾选的OPTION 中添加属性 selected="selected" ; 接着启用插件:$('#select的ID').multise...

分享·收获 2083

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

ngx-bootstrap Tabs 禁用示例:用 disabled 属性动态控制标签页的启用与禁用

本篇技术指南以 ngx-bootstrap 仓库中的 [Disabled Tabs 使用场景规格](https://link.gitcode.com/i/010ed748109cb260ff9bfb34aa9be8cb) 为核心,结合官方 Demo 组件与底层源码,完整讲解如何为标签页(Tab)设置禁用态、如何通过按钮动态切换禁用状态,以及禁用态在点击、键盘导航与默认激活逻辑中的真实行为。读完本文

gitblog_00359的博客 1083

ngx-bootstrap Typeahead 组件接入指南:Standalone 与 NgModule 两种导入方式及完整配置实战

ngx-bootstrap 是 Angular 生态中基于 Bootstrap 风格的开源组件库(支持 Ivy 引擎),其中 `typeahead` 模块提供开箱即用的自动补全(autocomplete)指令,可配合 `ngModel` 双向绑定或响应式表单使用。本篇以官方文档 [usage.md](https://link.gitcode.com/i/8337de59c538f7ed528cff

gitblog_00267的博客 293

ngx-bootstrap Tabs 的 selectTab 事件实战:监听标签页选中状态并读取标题

本指南围绕 ngx-bootstrap Tabs 组件在“Select event”场景下的核心能力展开,完整复现官方演示页(DEMO)中“Select event”示例的交互流程,并深入源码讲解 `selectTab` 事件的触发时机、回调参数类型(`TabDirective`)以及它与 `deselect`、`removed` 等事件的区别。读完本文,你将掌握如何为 Tab 绑定选中事件、在回

gitblog_00399的博客 418

如何快速集成SelectPage:5个实用技巧提升你的表单体验

想要为你的Web项目添加一个既美观又功能强大的下拉选择器吗?SelectPage插件正是你需要的解决方案!这个基于jQuery开发的智能选择器插件,不仅支持远程数据加载、自动完成和分页展示,还能轻松处理多标签选择和键盘导航,让你的表单交互体验瞬间提升到专业级别。 ## 🚀 为什么你需要这个智能选择器插件? 在日常的Web开发中,我们经常会遇到这样的场景:用户需要从成百上千条数据中选择一个或多

gitblog_00834的博客 1243

【无标题】

页面表单select标签,提示选择功能。

qq_29966633的博客 305
上一篇: order by 后多个字段 ,如何排序
下一篇: 空指针异常,Null Pointer Exception
gu_study
博客等级 码龄9年 28粉丝 36原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值