easyui里弹窗的两种表现形式
1、主JSP页面中描绘弹窗

- <div id="centerDiv" data-options="region:'center',border:false">
- <table id="networkQueryGrid"
- data-options="queryForm:'#queryForm',title:'查询结果',iconCls:'pag-list'"></table>
- </div>
- <div id="restartDialog" class="easyui-dialog" title="重新启动网络" style="width: 400px; height: 180px;"
- data-options="iconCls:'pag-list',modal:true,collapsible:false,minimizable:false,maximizable:false,resizable:false,closed:true">
- <div style="margin-left: 5px;margin-right: 5px;margin-top: 5px;">
- <div class="data-tips-info">
- <div class="data-tips-tip icon-tip"></div>
- 此网络提供的所有服务都将中断。请确认您确实要重新启动此网络。
- </div>
- <table style="margin-top: 20px;margin-left:20px;margin-right:20px;vertical-align:middle;" width="80%" border="0" cellpadding="0" cellspacing="1">
- <tr>
- <td style="width:20%;text-align:right;">
- 清理:
- </td>
- <td style="text-align:left;">
- <input type="hidden" id="networkId" name="networkId"/>
- <input type="checkbox" id="cleanUp" name="cleanUp"/>
- </td>
- </tr>
- </table>
- <div style="text-align:right;margin-right:30px;">
- <a href="#" class="easyui-linkbutton" data-options="iconCls:'ope-finish'" onclick="restartNetwork()">确定</a>
- <a href="#" class="easyui-linkbutton" data-options="iconCls:'ope-cancel'" onclick="cancel()">取消</a>
- </div>
- </div>
- </div>
JS:
- function showRestartDialog(id){
- $("#networkId").val(id);
- $("#restartDialog").dialog('open');
- }
- function restartNetwork(){
- cancel();
- var checked = $("#cleanUp").prop("checked");
- invokeAjax('/network/restartNetwork','networkId=' + $("#networkId").val() + '&cleanUp='+checked,'重新启动');
- }
- function cancel(){
- $('#restartDialog').window('close');
- }
2、直接在JS里绘制弹窗(弹窗为单独页面文件)

Toobar可放置到主JSP页面:
- <div id="toolbar" style="text-align:right;">
- <a href="#" class="easyui-linkbutton" data-options="iconCls:'ope-finish'" onclick="associateIP()">获取新IP</a>
- </div>
JS:
- function showPublicIpDialog(row){
- var networkId ;
- var zoneId = row.zoneId;
- var virtualMachineId = row.id;
- if(row.nics && row.nics.length > 0){
- networkId = row.nics[0].networkId;
- }
- var ipHref = _root +'/vm/viewAllocateIP?networkId='+networkId+'&zoneId='+zoneId;
- $dialog = $('<div/>').dialog({
- title: '分配公网IP',
- width: 400,
- height: 250,
- iconCls : 'pag-search',
- closed: true,
- cache: false,
- href: ipHref,
- modal: true,
- toolbar:'#toolbar',
- onLoad:function(){
- //设置其他数据
- $("#zoneId").val(row.zoneId);
- if(row.nics && row.nics.length > 0){
- $("#networkId").val(row.nics[0].networkId);
- }
- },
- buttons : [ {
- text : '确定',
- iconCls : 'ope-save',
- handler : function() {
- var $radio = $("input[type='radio']:checked");
- var iPAddressId = $radio.val();
- if($radio.length == 0 || iPAddressId == ""){
- $.messager.alert('提示', '请选择IP','info'); return;
- }
- $.ajax({
- url: _root + "/vm/enableStaticNat",
- type: "post",
- data: {virtualMachineId:virtualMachineId,iPAddressId:iPAddressId},
- dataType: "json",
- success: function (response, textStatus, XMLHttpRequest) {
- if(response!=null && response.success){
- $.messager.alert('提示','分配公网IP成功','info',function(){
- $dialog.dialog('close');
- $obj.SuperDataGrid('reload');
- });
- }else if(response!=null&&!response.success){
- $.messager.alert('提示','分配公网IP失败','error');
- }
- }
- })
- }
- }, {
- text : '取消',
- iconCls : 'ope-close',
- handler : function() {
- $dialog.dialog('close');
- }
- } ]
- });
- $dialog.dialog('open');
- }
- function associateIP(){
- ...
- }
Controller:
- /**
- * 跳转到弹窗页面
- */
- @RequestMapping(value = "/viewAllocateIP", method = {RequestMethod.GET,RequestMethod.POST})
- public ModelAndView viewAllocateIP(@RequestParam String networkId,@RequestParam String zoneId) {
- ModelAndView model = new ModelAndView();
- model.setViewName("vm/allocateIP");
- try {
- Set<PublicIPAddress> ips = virtualMachineService.listPublicIpAddresses(networkId,zoneId);
- model.addObject("ips", ips);
- } catch(BusinessException e) {
- throw new ControllerException(HttpStatus.OK, e.getCode(), e.getMessage());
- } catch(Exception e) {
- final String msg = messageSource.getMessage(TipsConstants.QUERY_FAILURE);
- throw throwControllerException(LOGGER, HttpStatus.OK, null, msg, msg, e);
- }
- return model;
- }
allocateIP.jsp:
- <body>
- <input type="hidden" name="zoneId" id="zoneId" />
- <input type="hidden" name="networkId" id="networkId" />
- <div class="easyui-layout" data-options="fit:true" style="padding: 0px;">
- <div data-options="region:'center',border:false">
- <c:if test="${!empty ips}">
- <table class="ipTable" width="95%" border="1" borderColor="#DEDEDE" cellpadding="0" cellspacing="0">
- <c:forEach items="${ips }" var="item">
- <tr>
- <td style="width: 35px; text-align: center;"><input type="radio" value="${item.id }" name="ids" /></td>
- <td style="padding-left: 35px; font-size: 13px;">${item.IPAddress }</td>
- </tr>
- </c:forEach>
- </table>
- </c:if>
- </div>
- </div>
- </body>
easyui里弹窗的两种表现形式的更多相关文章
- [转载]EasyUI Pagination 分页的两种做法
EasyUI 的 datagrid 支持服务器端分页,但是官方的资料比较少,以下总结了两种 datagrid 的服务器端分页机制,可根据情况具体使用. 一:使用 datagrid 默认机制 后台: p ...
- EasyUI Pagination 分页的两种做法
EasyUI 的 datagrid 支持服务器端分页,但是官方的资料比较少,以下总结了两种 datagrid 的服务器端分页机制,可根据情况具体使用. 一:使用 datagrid 默认机制 后台: p ...
- Easyui 创建dialog的两种方式,以及他们带来的问题
$('#yy').dialog('open');//打开dialog 这地方要注意,加入你关闭窗口的地方使用$('#yy').dialog('destroy');那么你这个dialog就只能使用一次, ...
- EasyUI 之 DataGrid的两种赋值方法
方法一:使用ViewData赋值 首先,我们创建一个User的实体类 public class User { public string UserID; public string UserName; ...
- Flask 中蓝图的两种表现形式
最近在学Flask,特有的@X.route 很适合RESTfuld API, 一般小型应用,在一个py文件中就可以完成,但是维护起来比较麻烦. 想体验Django那样的MVT模式, 看到 Flask提 ...
- 1. easyui tree 初始化的两种方式
/** * 查询角色分类 */function queryRoleCategoryTree(selectId) { var url = basePath + 'rest/roleCategoryCon ...
- dataTable 从服务器获取数据源的两种表现形式
var table = $('#example1').DataTable({ "processing": true,//加载效果 "autoWidth": fa ...
- 图文详解两种算法:深度优先遍历(DFS)和广度优先遍历(BFS)
参考网址:图文详解两种算法:深度优先遍历(DFS)和广度优先遍历(BFS) - 51CTO.COM 深度优先遍历(Depth First Search, 简称 DFS) 与广度优先遍历(Breath ...
- Redis中持久化的两种方法详解
Redis提供了两种不同的持久化方法来将数据存储到硬盘里面.一种方法叫快照(snapshotting),它可以将存在于某一时刻的所有数据都写入硬盘里;另一种方法教只追加文件(append-only f ...
随机推荐
- Appium 解决不能输入中文字符问题
只需在初始化driver方法时,写这两行代码即可: capabilities.setCapability("unicodeKeyboard", "True" ...
- Objective-c——UI进阶开发第一天(UIPickerView和UIDatePicker)
一.知识点 1.介绍数据选择控件UIPickerView和日期选择控件UIDatePicker控件 * UIPickerView的案例 * 点餐系统 * 城市选择 * 国旗选择 * UIDatePic ...
- MongoDB学习笔记四:索引
索引就是用来加速查询的.创建数据库索引就像确定如何组织书的索引一样.但是你的优势是知道今后做何种查询,以及哪些内容需要快速查找.比如:所有的查询都包括"date"键,那么很可能(至 ...
- [BZOJ 3503][Cqoi 2014]和谐矩阵
我觉得这一题的样例输出一点都不和谐,大家千万别像我一样被坑了…… 题目不算难,果然是进错省系列555,不过搞出 O(n*m*2m) 的还是不要挣扎的比较好 我们暴力地推出第 n 行 第 m 列中每个数 ...
- PHP、JAVA、C#、Object-C 通用的DES加密
PHP.JAVA.C#.Object-C 通用的DES加密 PHP: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 ...
- C语言中 *.c和*.h文件的区别!
C语言中 *.c和*.h文件的区别! http://blog.163.com/jiaoruijun07@126/blog/static/68943278201042064246409/ ...
- 【转】vc++MCF/C++/C中怎样让应用程序获得或以管理员权限运行 ,ShellExecuteEX编程 --- 获取管理员权限
ShellExecuteEX编程 --- 获取管理员权限:http://blog.csdn.net/jhui163/article/details/5873027 怎样让你的应用程序获得管理员权限:就 ...
- Action、Action<T>、Func<T> 匿名函数的写法
void ht_HLB_Set(Dictionary<int, int> dic) { //匿名函数 Action<int> fun = (int jhShare_Iid) = ...
- 【Java数据格式化】使用DecimalFormat 对Float和double进行格式化
格式化包括如下内容: 基本用法 金钱格式: 科学计数法: 百分比计数法: 嵌入文本: package com.sssppp.NumberFormat; import java.text.Decimal ...
- Oracle正确删除archivelog文件(转)
from:http://www.itpub.net/thread-1636118-6-1.html Oracle在开启了归档模式后,会在指定的archive目录下产生很多的archivelog文件,而 ...