java模态框里怎么创建表格_Bootstrap模态框(modal),并添加带复选框的表格(table),还可做提示框、文件选择框等,很使用!...

标签:

Bootstrap中的模态框插件以弹出对话框的形式出现,具有最小和最实用的功能集,主要的是使用起来很灵活!有以下几个特性:(1)不支持同时打开多个模态框;(2)务必将模态框的 HTML 代码放在文档的最高层级内(也就是说,尽量作为 body 标签的直接子元素),以避免其他组件影响模态框的展现和/或功能。

1、modal分为静态框和动态框:

(1)下面是最简单的modal的静态示例,也是最基础的modal样式:

a56abd32c4086bd30c0a07054140a96d.png

(2)除静态样式外,还有更常用的动态样式(即通过点击等方式弹出模态框):

Launch demo modal

abab6109a45077472203c441af2c2509.png

d3bd589f1c46ec80512739135d779f77.png

2、至于模态框中的内容,几乎可以添加常用的所有东西,比如表单组、列表等各种DOM,样式如下:

831fa70f67e908c1ce8a8b5a0dd439e9.png

c948a6649e862b18f9e8c51bb6064636.png

由于篇幅关系,在这里只提供下样式,具体的HTML写法可以参照官网: https://v3.bootcss.com/javascript/#modals;里面还有详细讲述modal插件的属性以及事件信息,感兴趣的话可以自行查阅。

3、下面是个人使用modal的示例,实现了动态模态框实时显示SGS服务器(Skyline Global的服务器)中的图层列表并添加复选框,还实现了将选中图层添加到二维三维窗口的功能。听着是不是很神奇,刚开始接触的时候我自己觉得肯定做不到,这里有前后端交互,XML文件解析,模态框数据传入传出、动态表格创建等等一揽子难题(小白很慌),但是后来还是硬着头皮一点点将这块骨头啃下来了,这也给我莫大的信心。再大的问题从细小处着手化为一些列小问题,然后各个击破,最终会发现一切难题迎刃而解。不扯了,还是跟大家分享下成果:

b0d3bbd9000e2075563ef051575b369c.png

当然代码中table为动态生成, 实现过程为获取后台返回的XML文件并解析获得图层名,再实现table动态创建,样例代码如下:

for (var i=0;i

{

var m = document.createElement("tr");

m.setAttribute("id",k);

document.getElementById("tableble").appendChild(m);

var m5 = document.createElement("td");

m5.setAttribute("id","chebox"+i);

document.getElementById(k).appendChild(m5);

var m6 = document.createElement("input");

m6.setAttribute("type","checkbox");

m6.setAttribute("class","checkbox");

m6.setAttribute("name",tanchus[i]);

document.getElementById("chebox"+i).appendChild(m6);

var m2 = document.createElement("td");

m2.innerText=tanchus[i];

document.getElementById(k).appendChild(m2);

var m3 = document.createElement("td");

m3.innerText="XML";

document.getElementById(k).appendChild(m3);

var m4 = document.createElement("td");

m4.innerText=Math.ceil(Math.random()*1000);

document.getElementById(k).appendChild(m4);

k=k+i+1;

}

至于将选中的图层添加到相应二三维窗口的实现思路为:获取table中所有的checkbox,遍历并记录选中状态的check,到这里又有同学问知道了checkbox的状态又能怎样,该怎么获取相应行的图层名呢?这里我耍了点小心机,规避了一个技术问题(不知道是好是坏),我将checkbox的name设置成了图层名,直接读取相应的name属性就好了。

var strIds=new Array();

var get = $(".checkbox");

for (i = 0 ; i < get.length; i++) {

if (get[i].checked) {

strIds.push(get[i].name);

}

}

嘿嘿,大体上就是这些内容了,自觉还有很多地方都不太成熟老练,希望大佬们如果对我有所指教的可以私信我哦,万分感谢!

标签:

来源: https://blog.csdn.net/nanfeng_fable/article/details/82717697

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值