在准备使用X-editable来做Bootstrap Table 的行内编辑的时候,根据http://www.cnblogs.com/landea... 的文章,我不能将全部效果重复实现,网上也搜索了其他资料,大都是单独使用X-editable的,我需要是结合Bootstrap Table来实现行内编辑的。

其中单元格的text的普通编辑,是可以做到。但是下拉框却不行。截图看到的下拉框我是用Table的field.formatter强行添加的<select>. 并没有达到理想的效果。


代码:

//引用部分
//css
<link href="/lib/Bootstrap/3.3.7-dist/css/bootstrap.min.css" rel="stylesheet">
<link href="/lib/Bootstrap/BootstrapTable/bootstrap-table.css" rel="stylesheet">
<link href="/lib/Bootstrap/BootstrapTable/x-editable/bootstrap-editable.css" rel="stylesheet"> //js
<script src="/lib/jquery/jquery-3.1.1.min.js"></script>
<script src="/lib/Bootstrap/3.3.7-dist/js/bootstrap.min.js"></script>
<script src="/lib/Bootstrap/BootstrapTable/bootstrap-table.js"></script>
<script src="/lib/Bootstrap/BootstrapTable/x-editable/bootstrap-editable.js"></script>
<script src="/lib/Bootstrap/bootstrap-treeview/js/bootstrap-treeview.js"></script>
<script src="/lib/Bootstrap/datapicker/bootstrap-datepicker.js"></script> //HTML
<body>
<div id="familInfo">
</div>
</body> //js
$('#familTable').bootstrapTable({
editable: false,//开启编辑模式
toolbar: '#tbar_famil',
search: true,
showColumns: true, // 开启自定义列显示功能
dataType: 'json',
striped: true,
sidePagination: 'server',//设置为服务器端分页
pagination: true,
pageList: [10, 25, 50, 100],
columns: [{ checkbox: true },
{ field: 'id', title: 'ID', visible: false },
{ field: 'isMember', title: '是否会员' },
{
field: 'name', title: '名称',
formatter:function(value,row,index){
var strHtml ='<a class="editable editable-click">'+ value +'</a>';
return strHtml;
}
},
{ field: 'relationShip', title: '关系' ,
formatter:function(value,row,index){
// $(this).editable();
//var strHtml ='<a class="editable editable-click" data-relationship>'+ value/*row.actionName*/ +'</a>';
var strHtml ='<select class="show-tick" id="relationShip"><option value="夫妻">夫妻</option><option value="父女">父女</option></select>'
return strHtml;
}
},
{ field: 'gender', title: '性别',
formatter:function(value,row,index){
// $(this).editable();
//var strHtml ='<a class="editable editable-click" data-relationship>'+ value/*row.actionName*/ +'</a>';
var strHtml ='<select class="show-tick " id="relationShip"><option value="男">男</option><option value="女">女</option></select>'
return strHtml;
}
},
{ field: 'idcard', title: '身份证',
formatter:function(value,row,index){
var strHtml ='<a class="editable editable-click">'+ value +'</a>';
return strHtml;
}
},
{ field: 'birthday', title: '生日' ,
formatter:function(value,row,index){
var strHtml ='<a class="editable editable-click">'+ value +'</a>';
return strHtml;
}
},
{ field: 'mobilePhone', title: '手机' ,
formatter:function(value,row,index){
var strHtml ='<a class="editable editable-click">'+ value +'</a>';
return strHtml;
}
},
{ field: 'nativePlace', title: '籍贯' },
{ field: 'party', title: '政治面貌' },
{ field: 'nation', title: '国籍' },
{ field: 'nationality', title: '民族' } ],
onEditableHidden: function(field, row, $el, reason) { // 当编辑状态被隐藏时触发
if(reason === 'save') {
var $td = $el.closest('tr').children();
$td.eq(-1).html((row.price*row.number).toFixed(2));
$el.closest('tr').next().find('.editable').editable('show'); //编辑状态向下一行移动
} else if(reason === 'nochange') {
$el.closest('tr').next().find('.editable').editable('show');
}
},
onClickRow: function (row, tr) {
// memberID = row.id;
}
});
//新增家庭成员
$('#btn_addFamil').on('click', function () {
$('#familTable').bootstrapTable('insertRow', { index: 0, row: { name: '测试' ,relationShip:'',mobilePhone:'',idcard:''} });
});
$.fn.editable.defaults.mode = 'inline'; //行内进行编辑.
$.fn.editable.defaults.showbuttons = false; //不显示按钮组.
$.fn.editable.defaults.onblur ="submit"; //当焦点离开时以提交处理,默认是取消.
//点击单元格既进行编辑
$('#familTable').on( 'click', 'td:has(.editable)', function (e) { e.stopPropagation(); // 阻止事件的冒泡行为 $(this).find('.editable').editable('show'); // 打开被点击单元格的编辑状态
} );

我的问题:

  1. 如何完整的使用X-editable,我只是试出来了input的,其他下拉,时间等具体该怎么用?

  2. 我发现editable的text是能在界面上反应,但是用Table的getDate 获取数据时,这个修改的数据并不直接反应在data里,是什么回事,如何实现编辑后数据提交到data里?

希望得到各位的帮助,有源码的最好,不然给出具体的资料、思路也可。

Bootstrap Table 的X-editable插件怎么用的更多相关文章

  1. [前端插件]Bootstrap Table服务器分页与在线编辑应用总结

    先看Bootstrap Table应用效果: 表格用来显示数据库中的数据,数据通过AJAX从服务器加载,同时分页功能有服务器实现,避免客户端分页,在加载大量数据时造成的用户体验不好.还可以设置查询数据 ...

  2. bootstrap table 插件多语言切换

    在bootstrap中的bootstrap table 插件在多语言切换的审核,只需要如下操作 引入bootstrap-table-locale-all.js文件 $('#Grid').bootstr ...

  3. 使用bootstrap table 插件固定表头时 表头与表格内容无法对齐

    在使用bootstrap table开发后台管理系统,表格利用bootstrap-table插件来实现,使用bootstrap-table过程中,会出现表头错位的情况 表头对不齐效果: 解决的方法: ...

  4. bootstrap table插件动态加载表头

    这篇文章主要为大家详细介绍了bootstrap table插件动态加载表头,具有一定的参考价值,感兴趣的小伙伴们可以参考一下   bootstrap的table属性已经很熟悉了,最近遇到一个问题,犹豫 ...

  5. 轻量级表格插件Bootstrap Table。拥有强大的支持固定表头、单/复选、排序、分页、搜索及自定义表头等功能。

    Bootstrap Table是轻量级的和功能丰富的以表格的形式显示的数据,支持单选,复选框,排序,分页,显示/隐藏列,固定标题滚动表,响应式设计,Ajax加载JSON数据,点击排序的列,卡片视图等. ...

  6. 在ASP.NET MVC中使用 Bootstrap table插件

    Bootstrap table: http://bootstrap-table.wenzhixin.net.cn/zh-cn/getting-started/ 1. 控制器代码: using Syst ...

  7. 利用BootStrap Table插件实现自己的弹出框分页。

    参考链接1:    官网:http://bootstrap-table.wenzhixin.net.cn/zh-cn/home/        开始使用:http://bootstrap-table. ...

  8. [转]手把手教你--Bootstrap Table表格插件及数据导出(可导出Excel2003及Exce2007)

    原文地址:https://blog.csdn.net/javayoucome/article/details/80081771 1.介绍 Bootstrap Table介绍见官网:http://boo ...

  9. bootstrap table 和 x-editable 使用方法

    最近需要做一些数据表格,有同事推荐EasyUI,但经过比较还是选择了Bootstrap,一款极为强大的表格组件,基于Bootstrap 的 jQuery .本文还将介绍Bootstrap-editab ...

随机推荐

  1. python格式化当前时间,暂停一秒输出

    python格式化输出当前系统时间,可以实现暂停1秒输出时间 import timefor i in range(10): print(time.strftime("%Y-%m-%d %H: ...

  2. Codeforces 1209F. Koala and Notebook

    传送门 考虑到达某个点时的数长度要尽量短,那么可以把边长看成此边十进制下的位数 那么对于最终答案我们只要考虑最短路 $DAG$ 上的情况 又发现其实边长都很小,所以可以暴力拆边,把边权都拆成 $1$, ...

  3. 缓存---CDN(内容分发网络)

    4.CDN   内容分发网络(content distribution network,CDN)是一种互联的网络系统,它利用更靠近用户的服务器从而更快更可靠的将静态资源分发给用户. cdn主要有以下优 ...

  4. 3D max导出的设置选项

    一3D max导出的设置选项

  5. The authenticity of host 'github.com (52.74.223.119)' can't be established.

    出现这种错误的问题应考虑是否配置ssh,若没有配置,则进行相关配置 若配置后还出现这种问题,这是由于本地缺少一个文化夹.直接yes而不是y或是回车

  6. NSUserDefaults的用法

    NSUserDefaults适合存储轻量级的本地数据,比如要保存一个登陆界面的数据,用户名.密码之类的,个人觉得使用NSUserDefaults是首选.下次再登陆的时候就可以直接从NSUserDefa ...

  7. 3.SpringBoot整合Mybatis(一对多)

    前言: Mybatis一对多的处理关系: 一个人有好多本书,每本书的主人只有一个人.当我们查询某个人拥有的所有书籍时,就涉及到了一对多的映射关系. 一.添加数据表: CREATE TABLE `boo ...

  8. 查个远程桌面是否开启 debug版360报毒 release 不报毒

    360 真tm流氓一个

  9. init.uniform / unit.normal

    均匀分布nn.init.uniform(tensor,a=0,b=1)tensor -n维的torch.Tensora 均匀分布的下界,默认值为0b 均匀分布的上界,默认值为1 正态分布torcn.n ...

  10. 解决input 中placeholder的那些神坑

    **昨天后台小哥哥提到placehold无法显示问题,我这边总结一下,顺便写个小文章分享给大家..** ============================================== 一 ...