背景

最近在使用Bootstrap table ,有一个在某一列添加一个下拉列表,并且通过 “getAllSelections”方法获取所选行的需求,在实现这个功能的时,走了一些弯路,遇到了一些坑。所以今天总结出来,既是自己的学习,也分享给大家,希望能够有些帮助。
如何解决
添加这个下拉列表有以下两种方法:
这次主要介绍第一种,基本的思路为:首先通过 bootstrap-table 的Column 配置项中的formatter,将获取到的数据转换为包含数据的 select 控件。然后根据用户选择项更新对应单元格数据,最后通过getallselection方法获取所选行数据。
formatter,其配置项为function,有三个参数:(value,row,index)
formatter: setSelect
function setSelect(value, row, index)
{
var strHtml = "";
if (value == "Item 1")
{
strHtml = "<select class='ss'><option value='Item 1' selected='selected'>Item 1</option><option value='Item 2'>Item 2</option></select>";
}
else
{
strHtml = "<select class='ss'><option value='Item 1' >Item 1</option><option value='Item 2' selected='selected'>Item 2</option></select>";
}
return strHtml;
}
到这里,下拉列表已经可以显示出来了,但是如果直接使用 getallselection 方法获取所选内容会有问题:获取到的数据是默认表格初始化加载的内容,并不是重新选择的内容。
bootstrap-table是一个jQuery插件,直接在html上面修改是获取不到的,要修改需要通过它自己的方法。bootstrap-table 在Methods 中提供了一个updateCell的方法。
updateCell ,包含了三个参数(index,field,value),在某一行的某一列更新value。
$('#table').bootstrapTable('updateCell', {
index: indexSelected,
field: 'name',
value: valueSelected
})
events
完成了下拉列表的显示,有了更新单元格值的方法,还需要做的是为下拉列表的选择绑定事件,实现下拉列表选择->改变单元格值。
我们可以在select元素上绑定onchange事件,或者使用jquery的change 事件。
$(".ss").change(function() {
var indexSelected = $(this).parent().parent()[0].rowIndex - 1;
var valueSelected = $(this).children('option:selected').val();
$('#table').bootstrapTable('updateCell', {
index: indexSelected,
field: 'name',
value: valueSelected
})
});
但是经过测试,发现$(“.ss”).change()只是在页面加载后第一次选择可以触发,后来在bootstrap-table的文档中发现了events项,可以监听单元格事件,和formatter 配合着用。
events: {'change .ss': function (e, value, row, index) {}};
//value是当前单元格的值,row是当前行,index是当前行的索引值
上面是在JSFiddle做的一个小Demo,有源码和显示效果,可以参考一下。
小结
有的时候,我们会遇到一个别人没有遇到过的问题,并没有在网上找到直接的解决方案。那么一定要去关注他的官方文档,甚至可以直接联系作者。
还有以bootstrap-table来说,它本身是一个jQuery插件,如果理解了一个jQuery插件具体是如何工作的,对于解决问题会是非常有帮助的。
以上所述是小编给大家介绍的Bootstrap Table 在指定列中添加下拉框控件并获取所选值,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
# bootstrap
# table
# 下拉框控件
# Bootstrap Table列宽拖动的方法
# bootstrap table列和表头对不齐的解决方法
# Bootstrap Table使用方法详解
# JS组件Bootstrap Table使用方法详解
# bootstrap table实现单击单元格可编辑功能
# bootstrap table单元格新增行并编辑
# 值得分享的bootstrap table实例
# 值得分享的轻量级Bootstrap Table表格插件
# 基于BootStrap的Metronic框架实现页面链接收藏夹功能按钮移动收藏记录(使用Sortab
# Bootstrap table列上下移动效果
# 单元格
# 所选
# 自己的
# 的是
# 是一个
# 给大家
# 绑定
# 小编
# 在某一
# 加载
# 文档
# 是在
# 会有
# 走了
# 在此
# 两种
# 我们可以
# 要做
# 可以直接
# 解决问题
相关文章:
如何配置WinSCP新建站点的密钥验证步骤?
如何快速搭建个人网站并优化SEO?
如何挑选优质建站一级代理提升网站排名?
如何确认建站备案号应放置的具体位置?
php8.4新语法match怎么用_php8.4match表达式替代switch【方法】
猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?
已有域名能否直接搭建网站?
建站org新手必看:2024最新搭建流程与模板选择技巧
如何用PHP快速搭建高效网站?分步指南
已有域名和空间如何搭建网站?
建站VPS选购需注意哪些关键参数?
企业宣传片制作网站有哪些,传媒公司怎么找企业宣传片项目?
如何快速重置建站主机并恢复默认配置?
如何通过虚拟机搭建网站?详细步骤解析
如何在Windows服务器上快速搭建网站?
,网站推广常用方法?
C#如何在一个XML文件中查找并替换文本内容
如何快速使用云服务器搭建个人网站?
潍坊网站制作公司有哪些,潍坊哪家招聘网站好?
图册素材网站设计制作软件,图册的导出方式有几种?
如何在万网ECS上快速搭建专属网站?
如何在阿里云虚拟主机上快速搭建个人网站?
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
如何快速配置高效服务器建站软件?
专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?
北京制作网站的公司,北京铁路集团官方网站?
网站微信制作软件,如何制作微信链接?
招贴海报怎么做,什么是海报招贴?
可靠的网站设计制作软件,做网站设计需要什么样的电脑配置?
制作网站的基本流程,设计网站的软件是什么?
头像制作网站在线制作软件,dw网页背景图像怎么设置?
建站之家VIP精选网站模板与SEO优化教程整合指南
制作网站的网址是什么,请问后缀为.com和.com.cn还有.cn的这三种网站是分别是什么类型的网站?
山东网站制作公司有哪些,山东大源集团官网?
如何配置FTP站点权限与安全设置?
如何在阿里云通过域名搭建网站?
如何快速生成凡客建站的专业级图册?
如何制作一个表白网站视频,关于勇敢表白的小标题?
小捣蛋自助建站系统:数据分析与安全设置双核驱动网站优化
湖南网站制作公司,湖南上善若水科技有限公司做什么的?
建站主机选购指南:核心配置优化与品牌推荐方案
深入理解Android中的xmlns:tools属性
html制作网站的步骤有哪些,iapp如何添加网页?
免费公司网站制作软件,如何申请免费主页空间做自己的网站?
nginx修改上传文件大小限制的方法
如何快速完成中国万网建站详细流程?
网站制作公司排行榜,抖音怎样做个人官方网站
网站制作难吗安全吗,做一个网站需要多久时间?
建站之星安装路径如何正确选择及配置?
C#怎么创建控制台应用 C# Console App项目创建方法
*请认真填写需求信息,我们会在24小时内与您取得联系。