问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

(jquery 插件开发)怎样作出这样的效果,点击add弹出一个表(这是jqgrid...

发布网友 发布时间:2022-04-27 02:56

我来回答

6个回答

热心网友 时间:2022-04-20 07:26

要一模一样的看jqgird的editGridRow function,分开的是在grid.formedit.js 这个js里面
要对话框中生成form的可以看jquery ui demo中dialog文件夹下modal-form.html

热心网友 时间:2022-04-20 08:44

实际上是通过click事件生成了一个DIV,并将期浮动于原页面之上.
你可以下载一个叫lhgdialog的jquery组件.可以实现这个功能.
可以支持HTML内容弹出和页面弹出.
同时可以设置弹出DIV的大小,是否可以移动,出现位置,是否遮罩原层等等.追问我是在插件里写这个东西,不是需要插件来完成?求好方法?

追答你在哪里看到这个例子的?
直接用IE8或者FF做监视调式就可以了啊,看他的add启动了哪个事件,或者说,所属的DIV或者其他什么元素class绑定了哪个方法.
如果你确定这个是jqgrid组件内部就可以完成的效果,你把他调用的function跟踪出来就可以了.

热心网友 时间:2022-04-20 10:19

这比较复杂。。。
大概就是触发click事件,弹出一个dialog,点击确定按钮,把数据追加到table里
其实嘛挺简单的,写起来就费事

热心网友 时间:2022-04-20 12:10

推荐你看一个jquery ui组件 功能超强大 你要的里面都有 对你写jquery插件很有帮组

组件名称jquery easyui

热心网友 时间:2022-04-20 14:18

这是我原先写的小例子,可能有用
<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html xmlns="http://www.w3.org/1999/xhtml"></html>

<html>

<head>
<title>员工信息</title>

<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">

<link type="text/css" rel="stylesheet" href="css/jquery-ui-1.7.2.custom.css" />
<link rel="stylesheet" href="css/ui.jqgrid.css" type="text/css"></link>
<script type="text/javascript" src="js/js/grid.locale-cn.js"></script>
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/jquery.jqGrid.min.js"></script>
<script type="text/javascript" src="js/jquery-ui-1.7.3.custom.min.js"></script>
<script type="text/javascript">
$(function(){
$("#gridTable").jqGrid({
url:'employeeView.action',
datatype: 'json',
height: 350,
colNames:['员工编号 ',' 姓名 ', '性别 ', '出生日期 ','部门 ','备注 '],
colModel:[
{name:'eid',index:'eid',width:80},
{name:'ename',index:'ename asc, invdate', width:80},
{name:'esex', index:'esex', width:80},
{name:'birthday', index:'birthday',width:120, align:"right"},
{name:'department', index:'department', width:120, align:"right"},
{name:'eremark', index:'eremark', width:150, sortable:false}
],
sortname:'id',
//sortorder:'asc',
viewrecords:true,
pgtext:'第{0}页 共{1}页',
recordtext:'第 {0} - {1}条记录 ',
rowNum:10,
rowList:[10,20,30],
jsonReader: {
root:"dataRows", // 数据行(默认为:rows)
page: "pages", // 当前页
total: "totals", // 总页数
records: "records", // 总记录数
repeatitems : false // 设置成false,在后台设置值的时候,可以乱序。且并非每个值都得设
},
prmNames : {
search : "search",
rows:"pageModel.rows",
page:"pageModel.page",
//sort:"page.orderBy",
//order:"page.order"
},
pager:"#gridPager",
caption: "员工信息 "
});

// 配置对话框
$("#consoleDlg").dialog({
autoOpen: false,
modal: true, // 设置对话框为模态(modal)对话框
resizable: true,
width: 480,
buttons: { // 为对话框添加按钮
"取消": function() {$("#consoleDlg").dialog("close")},
"添加": addEmployee,
"保存": updateEmployee,
"删除": deleteEmployee
}
});

});
var openDialog4Adding = function() {
var consoleDlg = $("#consoleDlg");
var dialogButtonPanel = consoleDlg.siblings(".ui-dialog-buttonpane");
consoleDlg.find("input").removeAttr("disabled").val("");
dialogButtonPanel.find("button:not(:contains('取消'))").hide();
dialogButtonPanel.find("button:contains('添加')").show();
consoleDlg.dialog("option", "title", "添加员工信息 ").dialog("open");
};
var openDialog4Updating = function() {
var consoleDlg = $("#consoleDlg");
var dialogButtonPanel = consoleDlg.siblings(".ui-dialog-buttonpane");

consoleDlg.find("input").removeAttr("disabled");
dialogButtonPanel.find("button:not(:contains('取消'))").hide();
dialogButtonPanel.find("button:contains('保存')").show();
consoleDlg.dialog("option", "title", "修改员工信息");

loadSelectedRowData();
}
var openDialog4Deleting = function() {
var consoleDlg = $("#consoleDlg");
var dialogButtonPanel = consoleDlg.siblings(".ui-dialog-buttonpane");

consoleDlg.find("input").attr("disabled", true);
dialogButtonPanel.find("button:not(:contains('取消'))").hide();
dialogButtonPanel.find("button:contains('删除')").show();
consoleDlg.dialog("option", "title", "删除员工");

loadSelectedRowData();
}

var loadSelectedRowData = function() {
var selectedRowId = $("#gridTable").jqGrid("getGridParam", "selrow");
if (!selectedRowId) {
hiAlert("请先选择需要编辑的行!");
return false;
} else {
var params = {
"employee.eid" : selectedRowId
};
// 从Server读取对应ID的JSON数据
$.ajax( {
url : "employee_find.action",
data : params,
dataType : "json",
cache : false,
error : function(textStatus, errorThrown) {
hiAlert("系统ajax交互错误: " + textStatus);
},
success : function(data, textStatus) {
// 如果读取结果成功,则将信息载入到对话框中
var rowData = data.person;
var consoleDlg = $("#consoleDlg");

consoleDlg.find("#selectId").val(rowData.id);
consoleDlg.find("#ename").val(rowData.ename);
consoleDlg.find("#esex").val(rowData.esex);
consoleDlg.find("#birthday").val(rowData.birthday);
consoleDlg.find("#department").val(rowData.department);
consoleDlg.find("#eremark").val(rowData.eremark);
// 根据新载入的数据将表格中的对应数据行一并更新一下
var dataRow = {
id : data.employee.eid, // 从Server端得到系统分配的id
ename :ename,
esex : esex,
birthday: birthday,
department: department,
eremark:eremark
};

$("#gridTable").jqGrid("setRowData", data.employee.eid, dataRow);

// 打开对话框
consoleDlg.dialog("open");
}
});

}
};
//数据更新
function updateEmployee() {
var consoleDlg = $("#consoleDlg");

var eid = $.trim(consoleDlg.find("#selectId").val());
var eanme = $.trim(consoleDlg.find("#eanme").val());
var esex = $.trim(consoleDlg.find("#esex").val());
var birthday = $.trim(consoleDlg.find("#birthday").val());
var department = $.trim(consoleDlg.find("#department").val());
var eremark = $.trim(consoleDlg.find("#eremark").val());
var params = {
"employee.eid" : eid,
"employee.ename" : ename,
"employee.esex" : esex,
"employee.birthday" : birthday,
"employee.department" : department,
"employee.eremark" : eremark
};
var actionUrl = "employee_update.action";
$.ajax( {
url : actionUrl,
data : params,
dataType : "json",
cache : false,
error : function(textStatus, errorThrown) {
alert("系统ajax交互错误: " + textStatus);
},
success : function(data, textStatus) {
if (data.ajaxResult == "success") {
var dataRow = {
id : data.employee.eid, // 从Server端得到系统分配的id
ename :ename,
esex : esex,
birthday: birthday,
department: department,
eremark:eremark
};
alert("联系人信息更新成功!");
consoleDlg.dialog("close");
$("#gridTable").jqGrid("setRowData", data.employee.eid, dataRow);
} else {
alert("修改操作失败!");
}
}
});
};

var addEmployee = function() {
var consoleDlg = $("#consoleDlg");

var eanme = $.trim(consoleDlg.find("#eanme").val());
var esex = $.trim(consoleDlg.find("#esex").val());
var birthday = $.trim(consoleDlg.find("#birthday").val());
var department = $.trim(consoleDlg.find("#department").val());
var eremark = $.trim(consoleDlg.find("#eremark").val());

var params = {
"employee.ename" : ename,
"employee.esex" : esex,
"employee.birthday" : birthday,
"employee.department" : department,
"employee.eremark" : eremark
};

var actionUrl = "employee_add.action";

$.ajax( {
url : actionUrl,
data : params,
dataType : "json",
cache : false,
error : function(textStatus, errorThrown) {
alert("系统ajax交互错误: " + textStatus);
},
success : function(data, textStatus) {
if(data.ajaxResult == "success") {
var dataRow = {
id : data.employee.eid, // 从Server端得到系统分配的id
ename :ename,
esex : esex,
birthday: birthday,
department: department,
eremark:eremark
};

var srcrowid = $("#gridTable").jqGrid("getGridParam", "selrow");

if(srcrowid) {
$("#gridTable").jqGrid("addRowData", data.employee.eid, dataRow, "before", srcrowid);

} else {
$("#gridTable").jqGrid("addRowData", data.employee.eid, dataRow, "first");
}
consoleDlg.dialog("close");

alert("联系人添加操作成功!");

} else {
alert("添加操作失败!");
}
}
});
};

//数据删除
var deleteEmployee = function() {
var consoleDlg = $("#consoleDlg");

var pId = $.trim(consoleDlg.find("#selectId").val());
var params = {
"employee.eid" : pId
};
var actionUrl = "employee_delete.action";
$.ajax({
url : actionUrl,
data : params,
dataType : "json",
cache : false,
error : function(textStatus, errorThrown) {
alert("系统ajax交互错误: " + textStatus);
},
success : function(data, textStatus) {
if (data.ajaxResult == "success") {
$("#gridTable").jqGrid("delRowData", pId);
consoleDlg.dialog("close");
alert("联系人删除成功!");
} else {
alert("删除操作失败!");
}
}
});
};
</script>

</head>
<body>

<table id="gridTable"></table>
<div id="gridPager">

</div>
<div>
<button class="right-button02" onclick="openDialog4Adding()">添加</button> 
<button class="right-button02" onclick="openDialog4Updating()">修改</button> 
<button class="right-button02" onclick="openDialog4Deleting()">删除</button>

</div>
<div id="consoleDlg">
<div id="formContainer">
<form id="consoleForm">
<input type="hidden" id="selectId" />
<table class="formTable">
<tr>
<th>
姓名:
</th>
<td>
<input type="text" class="textField" id="ename"
name="ename" />
</td>
</tr>
<tr>
<th id="thusergender">
性 别:
</th>
<td>
<input type="text" class="textField" id="esex"
name="esex" />
</td>
</tr>
<tr>
<th>
出生日期:
</th>
<td>
<input type="text" class="textField" id="birthday"
name="birthday" />
</td>
</tr>
<tr>
<th>
部门:
</th>
<td>
<input type="text" class="textField" id="department"
name="department" />
</td>
</tr>
<tr>
<th>
备注:
</th>
<td>
<input type="text" class="textField" id="eremark"
name="eremark" />
</td>
</tr>
</table>
</form>
</div>
</div>
</body>
</html>

热心网友 时间:2022-04-20 16:43

我也需要做这个,你能不能把代码给我啊?qq:850457263,谢啦!
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
双人沙发的一般尺寸是多少 双人沙发的标准尺寸是多少 双人沙发的常规尺寸是多少 一般的双人沙发的尺寸是多少 2人沙发标准尺寸是多少 面对此等形势与挑战,我们又该如何应对? 大量国央企数科公司成立,传统软件公司如何应对 造梦西游OL 造梦西游ol 80级以后该干嘛? 西铁城走心机程序更新失败 房子满二是指多久 jQuery什么插件能实现这种效果,把鼠标放在小图片上面就能显示大图片... 哪位JS或Jquery高手能告诉我这个组图幻灯片效果怎么做的,或者是哪里可... Jquery.SuperSlide扩展效果里的实用焦点图效果代码,求大神,谢谢_百度... 强大的jquery焦点图无缝滚动走马灯特效插件cxscroll怎么改滚动距离_百 ... Jquery幻灯片特效代码分享--鼠标滑过按钮时切换(2) 推荐下2000以下的智能手机 我打算买个2000左右的智能手机,哪款好,推荐下。 两千元左右的智能手机哪种好用? 介绍一款2000元左右的智能手机 2000元以下智能手机买哪个? 2000左右的智能手机(不要超过2200)。 “学生行为规范教育专刊”黑板报 性价比较高的智能手机有哪些啊?求介绍,2000左右的 求一款2000左右的智能手机啊 帮我推荐几部2000元左右的智能手机。不要杂牌的。性能还行的,介绍下。 推荐一部2000以内的智能手机 ! 高分 给推荐一部2000以内的智能手机呗? 关于教育现代化的黑板报内容 价位在2000元左右的智能手机哪一款好? 处女座的全部内容! 多屏轮播jquery旋转木马幻灯片特效怎么做 网上下载的带特效的jquery插件怎么用? 最近在用jQuery给公司做网站,要做一个遮罩层的效果,想问下jQuery有没... 使用markdown制作的html幻灯片有哪些 真实项目中,你们怎么用JS显示效果,还是用Jquery等框架?还是修改别人... Jquery幻灯片特效代码分享--打开页面随机选择切换方式(3) 梦见手上有刺,又被别人拔掉了还出了很好血我做梦我的同事把我手上刺拔了出来,我的手出了很多血 梦见妈妈手上扎了刺,拔出来了 女人梦见右手扎三根木料刺,最後都拔出来了。 梦见自己手指被扎了很多根刺,然后一根根拔出来 梦见自己的右手心被虫子的刺扎到但没流血,后来自己把它拔了出来!想问这梦境代表的是什么意思?谁能给我 steam饥荒联机版怎么用创意工坊汉化 steam饥荒联机版怎么汉化 steam饥荒 房主用汉化mod 其他人不用,能连接上房间吗 宁得罪君子,莫得罪小人。宁得罪小人,莫得罪女子。古人诚不欺我也。是哪个说的? steam买了饥荒 但是推荐的汉化MOD 创意工坊的MOD点了订阅下载不了 是什么情况? 为什么宁可得罪君子也不要得罪小人? steam饥荒联机版汉化,我已经在创意工坊下了汉化,搜的chinese,下了两个汉化mod,还在游 steam怎么买饥荒联机版啊?英文是什么,怎么汉化 怎么看待宁得罪君子,不得罪小人?