可以先ajax请求,得到返回结果后渲染table
$get(url, function (result) {if (resultcode=='0000') {
var data = {total:resultdatatotalCount,rows:resultdatadataList};
$tablebootstrapTable({
data:data,
dataType: "json",
// data:jsondatadataList,
cache: false, // 不缓存
// height: getHeight(), // 设置高度,会启用固定表头的特性
striped: true, // 隔行加亮
})
}
}, "json")
使用第三方组件就要按照对方的格式返回数据,否则就在js里自己组装成需要的格式。
项目中使用BootStrap editTable 进行行内编辑,编辑后并不实时的修改某列的值,而是在所有需要修改的列修改后,点击后面的确认投资按钮,一次性保存所修改的列。
由于确认投资是页面第一次初始化后出现的,而这时需要修改的列是没有值的,对列进行编辑后,点击按钮是不能获取到编辑后的值。
经过学习Bootstrap editTable 和 bootstarp table的API,找到了解决方案。
方法/步骤
1
引入bootstarp edittable 的 js,css 文件:
<link href="${basePath}/STATIC/plugins/bootstrap3-editable/css/bootstrap-editablecss" rel="stylesheet">
<script src="${basePath}/STATIC/plugins/bootstrap3-editable/js/bootstrap-table-editablejs"></script>
<script src="${basePath}/STATIC/plugins/bootstrap3-editable/js/bootstrap-editablejs"></script>
注意:bootstrap-table-editablejs 不属于 bootstrap3-editable 里面,是第三方或个人扩展的,可以从网上下载。
2
特定的列进行行内编辑:
field: 'autualFinanceAmount',
title: '实际融资金额(万元)',
width: 160,
align: 'center',
formatter:function(value,row,index){
if(value == null || value == ''){
return "-";
}
return value;
},
editable: {
type: 'text',
title: '实际融资金额',
validate: function (v) {
if (!v) return '实际融资金额不能为空';
//正则校验输入格式:最多两位小数。
var patrn=/^([1-9]\d\\d{1,2}|0\\d[1-9]|[1-9]\d)$/;
if(!patrntest(v)){
return '输入格式:最多两位小数';
}
}
}
3
当某列编辑完成后,需要对当前列所在的行进行修改 *** 作:
$("#grid")bootstrapTable({
url:'',
……
…… //其他属性
columns:[{
field:'rowId',
title:'序号',
width:30,
align: 'center',
formatter:function(value,row,index){
rowrowId = index;
return index+1;
}
…… //其他列
}],
onEditableSave: function (field, row, oldValue, $el) {
$table = $('#grid')bootstrapTable({});
$tablebootstrapTable('updateRow', {index: rowrowId, row: row});
}
注意:黑色粗体字就是新增的代码,表示在列编辑完成后,对当前列所在的行进行修改。
index 表示该行所在的索引。由于onEditableSave函数的参数中没有index,只能自己特殊处理了。看到在columns属性中,有一个field:'rowId’就是自己处理的,rowId赋给row。
4
如果你的列中有
formatter:function(value,row,index){} 函数,
在onEditableSave 方法执行完成后,该函数会重新执行,这样就会把修改后的列的值重新拿到进行处理。
您好,这样的:
目测你只需要把data-url写好,比如写 data-url=“userListhtm”,
然后userListhtm返回数据如: {"state":"xxx","email":"xxx",},即按照你th中写的字段返回json即可。
<html>
<head><title>获取下拉列表选中项的值和文本(select)</title></head>
<body>
<script>
//获取下拉列表选中项的文本
function getSelectedText(name){
var obj=documentgetElementByIdx(name);
for(i=0;i<objlength;i++){
if(obj[i]selected==true){
return obj[i]innerText; //关键是通过option对象的innerText属性获取到选项文本
}
}
}
//获取下拉列表选中项的值
function getSelectedValue(name){
var obj=documentgetElementByIdx(name);
return objvalue; //如此简单,直接用其对象的value属性便可获取到
}
</script>
<select id="myselect">
<option value="fist">1</option>
<option value="second">2</option>
<option value="third">3</option>
</select>
<input type="button" value="所选文本" onclick="alert(getSelectedText('myselect'));" />
<input type="button" value="所选值" onclick="alert( getSelectedValue('myselect'));" />
</body>
</html>
它是把数据一次性加载出来放到界面上,然后根据你设置的每页记录数,自动生成分页。当点击第二页时,会自动加载出数据,不会再向服务器发送请求。同时用户可以使用其自带的搜索功能,可以实现全数据搜索。对于数据量较少的时候
求一个BootStrap table 后台获取aspnet数据的例子
net 应该不支持这样的混编吧,要是ASP或者是PHP这样写是可以的,net的没见过
解决方法:
就是可以通过控件的方式实现,GridView或者是Repeater都可以
通过JS/JQ 的页面级填充
后台代码生成
第2、3其实就是一个的拼接的步骤
例:前台源码 :<table id = "t1" runat="server"></table>
JQ:$("#t1")html("<tr><td>aaaaa</td></tr>");
后台:
//添加文件大小列
HtmlTableCell tc = newHtmlTableCell();
TextBox tb = newTextBox();//创建文本框对象
tbWidth = 120;//设定宽度
tbText = size;//设定文本框中的值
tcControlsAdd(tb);//单元格内容赋值
trControlsAdd(tc);
t1ControlsAdd(tr);//将行添加到表中
或者是前台放一个 label 然后定义 ID=“lbl1”
以上就是关于bootstrap-table怎么ajax获取后台数据并展示全部的内容,包括:bootstrap-table怎么ajax获取后台数据并展示、bootstrap table 获取数据里面的id可以重新请求数据展、新手求助!Bootstrap Table 如何获得选中项的文本呢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)