jquery+bootstrap实现tab切换, 每次切换时都请求数据, 点击提交分别向不同的地址提交数据
今天一个朋友叫帮做一个tab切换, 每一个tab内容区域都是从后台取出的数据, 这些数据要用表格的形式显示处理, 并且表格的内容区域可以修改, 如下所示:
例子查看请演示查看.
截图如图所示:

实现步骤:
几个需要注意的点:
1. tab部分加一个data-id, 当中的id与下面要显示的具体内容的tab-content的id一致.
<ul class="nav nav-tabs" role="tablist">
<li role="presentation" class="active" data-id="tabContent1"><a href="#">标题1</a></li>
<li role="presentation" data-id="tabContent2"><a href="#">标题2</a></li>
<li role="presentation" data-id="tabContent3"><a href="#">标题3</a></li>
</ul>
2. 具体内容部分
<div class="tabs-contents">
<!-- 标题1内容区域 -->
<div class="tab-content active" id="tabContent1">
<table class="table table-striped">
<tbody>
<tr>
<td>标题1</td>
<td><input type="text" class="form-control" name="" placeholder="请输入内容" value="content1"></td>
</tr>
<tr>
<td>标题2</td>
<td><input type="text" class="form-control" name="" placeholder="请输入内容" value="content2"></td>
</tr>
<tr>
<td>标题3</td>
<td><input type="text" class="form-control" name="" placeholder="请输入内容" value="content3"></td>
</tr>
</tbody>
</table>
<button type="button" class="btn btn-primary" id="tabSubmit1">提交</button>
</div>
<!-- 标题2内容区域 -->
<div class="tab-content" id="tabContent2">
<table class="table table-striped">
<tbody></tbody>
</table>
<button type="button" class="btn btn-primary" id="tabSubmit2">提交</button>
</div>
<!-- 标题3内容区域 -->
<div class="tab-content" id="tabContent3">
<table class="table table-striped">
<tbody></tbody>
</table>
<button type="button" class="btn btn-primary" id="tabSubmit3">提交</button>
</div>
</div>
3, 刚开始让所有的都隐藏, 只有添加了class="active"的才显示.
.tab-content{
display: none;
}
.tab-content.active{
display: block;
}
4. 写js:
点击li标签对应的tab时:
$('.nav-tabs li').click(function(){
$(this).addClass('active').siblings().removeClass('active');
var _id = $(this).attr('data-id');
$('.tabs-contents').find('#'+_id).addClass('active').siblings().removeClass('active');
switch(_id){
case "tabContent1":
getTabContent1();
break;
case "tabContent2":
getTabContent2();
break;
case "tabContent3":
getTabContent3();
break;
default:
getTabContent1();
break;
}
});
每点击一个li就发送一次请求:
/**
* 获取tab1的内容
* @return {[type]} [description]
*/
function getTabContent1(){
$.get('../json/table1.json',function(response){
console.log("response:====");
console.log(response);
if(response.code === 10000){
var data = response.data,
tableList = '';
data.forEach(function(detail){
tableList += '<tr>'+
'<td>'+detail.title+'</td>'+
'<td><input type="text" value="'+detail.content+'" class="form-control" name="" placeholder="请输入内容"></td>'+
'</tr>';
});
$('#tabContent1').find('tbody').html(tableList);
}
});
}
点击各个不同的tab下面的提交按钮时:
/**
* tabContent1点击提交
* @param {[type]} ){ var tabContent1 [description]
* @return {[type]} [description]
*/
$('#tabSubmit1').click(function(){
var tabContent1 = $('#tabContent1');
var trs = tabContent1.find('tr');
params = [];
trs.each(function(index,tr){
var obj = {
title:tabContent1.find('tr').eq(index).children().eq(0).html(),
content:tabContent1.find('tr').eq(index).children().eq(1).find('input').val()
};
params.push(obj);
});
console.log("params:====");
console.log(params);
$.post('',params,function(response){
if(response.code === 10000){
alert('更新成功');
}else{
alert('更新失败');
}
});
});
所有的代码的源代码, 请查看这里 https://github.com/xiangming25/tab_content
jquery+bootstrap实现tab切换, 每次切换时都请求数据, 点击提交分别向不同的地址提交数据的更多相关文章
- Bootstrap与tab组合,切换菜单实例
<html><head><meta http-equiv="Content-Type" content="text/html; charse ...
- bootStrap中Tab页签切换
关于$().tab()一般用来实现标签页和胶囊链接内容片段的切换,或是相关内容的页面导航: <ul class="nav nav-tabs" id="myTab&q ...
- 献给那些每次调试时都要启动很多WEB项目的苦逼程序猿
当一个解决方案包含多个WEB项目的时候,只要按F5调试,其它用不着的WEB项目也会自动添加到托盘里.很多新手都不知道如何解决这个问题,我也是刚知道. 在网上找了很多资料看到有2种解决方法: 1.把WE ...
- 确保 Xcode 每次 Build 时都自己主动更新资源
參考:p=22" target="_blank">http://quick.cocoachina.com/?p=22 刚建立的quickproject.每次修改lu ...
- 关于 vim每次w时都提示 “E509: 无法创建备份文件 (请加 ! 强制执行)”
今天网上git下vim的配置后v只要执行:wq就会出现这样的话,找了点资料说是没有.vimbk文件夹,我加了也没用,后来发现在root权限下就不会出现这样的问题,然后我就把当前文件夹下所以的有关vim ...
- sublime每次打开时都提示升级,怎么取消这个弹出框?
答案其实很简单,设置如下: 进入Preferences -> Settings-User ,添加 "update_check": false 重启Sublime. 发现了什么 ...
- Appium——解决每次启动时都安装setting和unlock app方法
找到appium安装目录 C:\Program Files (x86)\Appium\node_modules\appium\lib\devices\android 修改代码,注释掉弹出setting ...
- 关于在bootstrap的tab栏中渲染echats图表,切换tab时echats不显示问题
在开发过程中遇到这样个问题: 利用bootstrap中的tab栏,每当点击tab栏的导航时,echats仅仅只渲染第一个tab的内容,切换tab时,echats图表不显示. 其html代码为: < ...
- 在Bootstrap开发中解决Tab标签页切换图表显示问题
在做响应式页面的时候,往往需要考虑更多尺寸设备的界面兼容性,一般不能写死像素,以便能够使得界面元素能够根据设备的不同进行动态调整,但往往有时候还是碰到一些问题,如Tab标签第一页面正常显示,但是切换其 ...
随机推荐
- Burp Suite 使用教程(上传突破利器)
Burp Suite是一个免费的网站攻击工具. 它包括proxy.spider.intruder.repeater四项功能.该程序使用Java写成,需要 JRE 1.4 以上版本 下载该程序的源代码, ...
- html5 json的新用法
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 网站底部版权信息区(bootstrap)
bootstrap的强大功能毋庸置疑.所以,网站底部版权信息区可以用bootstrap的“栅格系统”完成. 下面是一个未经处理的底部版权信息区的样式: <div class="cont ...
- javaee 导航
tomcate端口设定和服务器虚拟目录设定 静态web 应用和动态web应用 tomcat相关问题 web应用 http 响应 url uri 动态页面 servlet 一个简单的servlet的de ...
- java动态调用webservice
cxf方式 public static Object[] invokeRemoteMethod(String url, String method, Object[] parameters) { Ja ...
- 【用xocde5打包 在IOS7以下也能显示无默认gloss 效果 图解】
图解,只需要这几个地方修改以下就好了,看不懂的话,请留言 完毕:记着clean 以下项目文件
- ios 弹出不同的键盘
iOS 提供了10种键盘类型,在开发中,我们可以根据不同的需求,选择不同的键盘样式,例如,当我们只需要输入手机号码时,可以选择纯数字类型的键盘(NumbersAndPunctuation),当我们需要 ...
- iOS打包测试
iOS开发中,怎么打包为ipa格式的软件包以及怎么安装到手机终端上. (我的开发环境为Xcode6.1.1 )作为个人开发者(当然我的开发者帐号为个人开发者帐号,而不是企业开发者帐号),对于自己来说, ...
- 在Mac上开启自带的Apache,httpd服务
下面演示的是Mac自带的httpd服务 启动httpd服务 AppledeMacBook-Pro:python2_zh apple$ sudo apachectl start AppledeMacBo ...
- Win10 UI入门 圆形控件
动态模版绑定 http://blog.csdn.net/XXChen2/article/details/4552554