- 浏览: 127351 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
calosteward:
赞一个。 谢谢分享了~非常有用。 —————————————— ...
项目里用到的Jquery,json,struts2结合 -
zhouylf:
文章都还行,就是变量名起的好恶心,“wzXxfbPdtp”还 ...
Springmvc3实现文件上传 -
zongshoujin:
老大 List和Map 在前台解析不出来,我看了下 是j ...
struts2返回JSON,jquery解析JSON(返回的可能是LIST,MAP,对象,单个值) -
kfjihailong:
269565478@qq.com 求源码
springmvc+dwz+xheditor实现上传图片及swf 视频 -
eric.zhang:
jieAmei 写道能给我发一下这个代码吗?谢谢,452909 ...
dwz+jquery+fileupload+springmvc实现文件上传 及图片预览
一.关于动态操作select的问题:
-------------------------------------------------------
//使用json格式传递到前台去
List<String> list = service.loadProvince();
StringBuffer s = new StringBuffer("[");
for(int i = 0 ; i < list.size(); i++){
s.append("\"").append(list.get(i)).append("\"");
if(i<list.size()-1){
s.append(",");
}
}
s.append("]");
//相当于 ["北京","湖南"]
response.setContentType("text/json;charset=UTF-8");
response.getWriter().println(s.toString());
response.getWriter().close();
前台:
<select id="province" onchange="loadCity(this.value);"></select>
var ret = eval("("+responseText+")");
var s = "<option value=''>请选择</option>";
for(var i = 0; i < ret.length;i++){
s +="<option>"+ret[i]+"</option>";
}
document.getElementById("province").innerHTML = s;
前台也可以使用对象方式
var pro = document.getElementById("province");
//先清空
pro.options.length=0;
for(var i = 0; i < ret.length;i++){
var opt = new Option(ret[i]);
pro.options[pro.options.length] = opt;
}
var mySelect = document.createElement("select");
mySelect.id = "mySelect";
document.body.appendChild(mySelect);
var obj=document.getElementById('mySelect');
obj.options.add(new Option("text","value")); //这个兼容IE与firefox
var index=obj.selectedIndex; //序号,取当前选中选项的序号
var val = obj.options[index].value;//读取选定值
var val = obj.options[index].text; //读取选定文本
var val = obj.options[index]=new Option("新文本","新值");//设定新文本
obj.options.remove(index);//删除选中的option
obj.options.length=0;//清除所有option
################################################################################
function ad_changed(obj)
{
id = obj.value;
Ajax.call('adv_auto.php?act=get_id&is_ajax=1', 'parent_id='+id, re_ad_changed, "GET", "JSON");
}
function re_ad_changed(result)
{
child = document.getElementById('ad_id');
child.options.length=0;
for(i = 0; i < result.content.length; i++)
{
child.options.add(new Option());
child.options[i].value = result.content[i].ad_id;
child.options[i].text = result.content[i].ad_name;
}
child.style.display = "";
return ;
}
############################################################################
var text = "test";
var params_select = document.getElementById("params_select");
//创建标签
var opt = document.createElement("option");
//创建文本
var _text = document.createTextNode(text);
//把文本赋给标签
opt.appendChild(_text);
//属性赋值
opt.setAttribute("value",objs[m].keyid);
opt.setAttribute("selected","selected");
//添加
params_select.appendChild(opt);
###########################################################################
javascript动态创建Option选项,选择月份后动态创建日期。
<html>
<head>
<title>javascripttest</title>
<script type="text/javascript">
function setDay()
{
var themonth=document.getElementById("month");
var themaxmonthday=31;
if(themonth.value=="2")
{
themaxmonthday=28;
}
var theday=document.getElementById("day");
var tempdaylength=theday.options.length;
for(var j=tempdaylength;j>0;j--)
{
theday.options.remove(j);
}
for(var i=1;i<=themaxmonthday;i++)
{
var theOption=document.createElement("option");
theOption.innerHTML=i+"日";
theOption.value=i;
theday.appendChild(theOption);
}
}
</script>
</head>
<body>
<select id="month" onchange="setDay()">
<option value="1">1月</option>
<option value="2">2月</option>
<option value="3">3月</option>
<option value="4">4月</option>
<option value="5">5月</option>
<option value="6">6月</option>
<option value="12">12月</option>
</select>
<select id="day">
</select>
</body>
</html>
###########################################################
//1.动态创建select
function createSelect(){
var mySelect = document.createElement("select");
mySelect.id = "mySelect";
document.body.appendChild(mySelect);
}
//2.添加选项option
function addOption(){
//根据id查找对象,
var obj=document.getElementById('mySelect');
//添加一个选项
obj.add(new Option("文本","值")); //这个只能在IE中有效
obj.options.add(new Option("text","value")); //这个兼容IE与firefox
}
//3.删除所有选项option
function removeAll(){
var obj=document.getElementById('mySelect');
obj.options.length=0;
}
//4.删除一个选项option
function removeOne(){
var obj=document.getElementById('mySelect');
//index,要删除选项的序号,这里取当前选中选项的序号
var index=obj.selectedIndex;
obj.options.remove(index);
}
//5.获得选项option的值
var obj=document.getElementById('mySelect');
var index=obj.selectedIndex; //序号,取当前选中选项的序号
var val = obj.options[index].value;
//6.获得选项option的文本
var obj=document.getElementById('mySelect');
var index=obj.selectedIndex; //序号,取当前选中选项的序号
var val = obj.options[index].text;
//7.修改选项option
var obj=document.getElementById('mySelect');
var index=obj.selectedIndex; //序号,取当前选中选项的序号
var val = obj.options[index]=new Option("新文本","新值");
//8.删除select
function removeSelect(){
var mySelect = document.getElementById
}
2.Jquery前台转一个数组到后台,后台取数问题及通过json传集合到前台问题
#################################################################
下面是页面代码:
1. ztfw.jsp
2.后台处理类
RoleController
页面显示效果:
-------------------------------------------------------
//使用json格式传递到前台去
List<String> list = service.loadProvince();
StringBuffer s = new StringBuffer("[");
for(int i = 0 ; i < list.size(); i++){
s.append("\"").append(list.get(i)).append("\"");
if(i<list.size()-1){
s.append(",");
}
}
s.append("]");
//相当于 ["北京","湖南"]
response.setContentType("text/json;charset=UTF-8");
response.getWriter().println(s.toString());
response.getWriter().close();
前台:
<select id="province" onchange="loadCity(this.value);"></select>
var ret = eval("("+responseText+")");
var s = "<option value=''>请选择</option>";
for(var i = 0; i < ret.length;i++){
s +="<option>"+ret[i]+"</option>";
}
document.getElementById("province").innerHTML = s;
前台也可以使用对象方式
var pro = document.getElementById("province");
//先清空
pro.options.length=0;
for(var i = 0; i < ret.length;i++){
var opt = new Option(ret[i]);
pro.options[pro.options.length] = opt;
}
var mySelect = document.createElement("select");
mySelect.id = "mySelect";
document.body.appendChild(mySelect);
var obj=document.getElementById('mySelect');
obj.options.add(new Option("text","value")); //这个兼容IE与firefox
var index=obj.selectedIndex; //序号,取当前选中选项的序号
var val = obj.options[index].value;//读取选定值
var val = obj.options[index].text; //读取选定文本
var val = obj.options[index]=new Option("新文本","新值");//设定新文本
obj.options.remove(index);//删除选中的option
obj.options.length=0;//清除所有option
################################################################################
function ad_changed(obj)
{
id = obj.value;
Ajax.call('adv_auto.php?act=get_id&is_ajax=1', 'parent_id='+id, re_ad_changed, "GET", "JSON");
}
function re_ad_changed(result)
{
child = document.getElementById('ad_id');
child.options.length=0;
for(i = 0; i < result.content.length; i++)
{
child.options.add(new Option());
child.options[i].value = result.content[i].ad_id;
child.options[i].text = result.content[i].ad_name;
}
child.style.display = "";
return ;
}
############################################################################
var text = "test";
var params_select = document.getElementById("params_select");
//创建标签
var opt = document.createElement("option");
//创建文本
var _text = document.createTextNode(text);
//把文本赋给标签
opt.appendChild(_text);
//属性赋值
opt.setAttribute("value",objs[m].keyid);
opt.setAttribute("selected","selected");
//添加
params_select.appendChild(opt);
###########################################################################
javascript动态创建Option选项,选择月份后动态创建日期。
<html>
<head>
<title>javascripttest</title>
<script type="text/javascript">
function setDay()
{
var themonth=document.getElementById("month");
var themaxmonthday=31;
if(themonth.value=="2")
{
themaxmonthday=28;
}
var theday=document.getElementById("day");
var tempdaylength=theday.options.length;
for(var j=tempdaylength;j>0;j--)
{
theday.options.remove(j);
}
for(var i=1;i<=themaxmonthday;i++)
{
var theOption=document.createElement("option");
theOption.innerHTML=i+"日";
theOption.value=i;
theday.appendChild(theOption);
}
}
</script>
</head>
<body>
<select id="month" onchange="setDay()">
<option value="1">1月</option>
<option value="2">2月</option>
<option value="3">3月</option>
<option value="4">4月</option>
<option value="5">5月</option>
<option value="6">6月</option>
<option value="12">12月</option>
</select>
<select id="day">
</select>
</body>
</html>
###########################################################
//1.动态创建select
function createSelect(){
var mySelect = document.createElement("select");
mySelect.id = "mySelect";
document.body.appendChild(mySelect);
}
//2.添加选项option
function addOption(){
//根据id查找对象,
var obj=document.getElementById('mySelect');
//添加一个选项
obj.add(new Option("文本","值")); //这个只能在IE中有效
obj.options.add(new Option("text","value")); //这个兼容IE与firefox
}
//3.删除所有选项option
function removeAll(){
var obj=document.getElementById('mySelect');
obj.options.length=0;
}
//4.删除一个选项option
function removeOne(){
var obj=document.getElementById('mySelect');
//index,要删除选项的序号,这里取当前选中选项的序号
var index=obj.selectedIndex;
obj.options.remove(index);
}
//5.获得选项option的值
var obj=document.getElementById('mySelect');
var index=obj.selectedIndex; //序号,取当前选中选项的序号
var val = obj.options[index].value;
//6.获得选项option的文本
var obj=document.getElementById('mySelect');
var index=obj.selectedIndex; //序号,取当前选中选项的序号
var val = obj.options[index].text;
//7.修改选项option
var obj=document.getElementById('mySelect');
var index=obj.selectedIndex; //序号,取当前选中选项的序号
var val = obj.options[index]=new Option("新文本","新值");
//8.删除select
function removeSelect(){
var mySelect = document.getElementById
}
2.Jquery前台转一个数组到后台,后台取数问题及通过json传集合到前台问题
#################################################################
下面是页面代码:
1. ztfw.jsp
<%@ page contentType="text/html;charset=UTF-8" %> <%@ include file="/commons/taglibs.jsp" %> <style> <!-- #zdfwPage{ width:640px; margin:0px auto; padding:0px 20px 0px; border-width: thin; border-style:solid; border-left-color:#99BBE8; border-right-color:#99BBE8; border-bottom-style:none; border-top-style:none; background:#E9F0F2; line-height:30px; overflow: hidden; } .tabsPage .tabsPageContent{ overflow:auto;} --> </style><script type="text/javascript"> <!-- //处理左右表相互移动 function moveDepartment(flag){ //当点击 添加部门 或者 人员时 if(flag=='addDept' || flag=='addUser'){ //左边select var left=""; //右边select var right=""; if(flag=='addDept'){ left = $("#leftDept")[0]; right = $("#rightDept")[0]; }else{ left = $("#leftUser")[0]; right = $("#rightUser")[0]; } //取得当前选中的select的位置 var index = left.selectedIndex; if(index < 0){ alert("您没有选择任何部门!"); } var id = left.options[index].value; var name = left.options[index].text; //给右边的select添加一个option right.options.add(new Option(name,id)); //删除选中的左边的option left.options.remove(index); } //当点击 添加全部部门 或 全部人员 时 if(flag=='addAllDept' || flag=='addAllUser'){ //左边select var left=""; //右边select var right=""; //当是添加全部部门时 if(flag=='addAllDept'){ left = $("#leftDept")[0]; right = $("#rightDept")[0]; }//当 添加全部人员时 else{ left = $("#leftUser")[0]; right = $("#rightUser")[0]; } var leftLength = left.options.length; var id; var name; //循环遍历左边的select,添加到右边,删除左边所有 for(var i = 0 ; i < leftLength; i++){ id = left.options[0].value; name = left.options[0].text; //给右边的select添加一个option right.options.add(new Option(name,id)); //删除选中的左边的option left.options.remove(index); } } //当点击 删除部门 或 删除人员 时 if(flag=='deleteDept' || flag=='deleteUser'){ var right; var left; if(flag=='deleteDept'){ right = $("#rightDept")[0]; left = $("#leftDept")[0]; }else{ right = $("#rightUser")[0]; left = $("#leftUser")[0]; } var index = right.selectedIndex; if(index < 0){ alert("您没有选择任何部门!"); } var id = right.options[index].value; var name = right.options[index].text; left.options.add(new Option(name,id)); right.options.remove(index); } //当点击 删除全部部门时 if(flag=='deleteAllDept' || flag=='deleteAllUser'){ var right; var left; if(flag=='deleteAllDept'){ right = $("#rightDept")[0]; left = $("#leftDept")[0]; }else{ right = $("#rightUser")[0]; left = $("#leftUser")[0]; } var rightLength = right.options.length; var id; var name; for(var i = 0 ; i < rightLength; i++){ id = right.options[0].value; name = right.options[0].text; left.options.add(new Option(name,id)); right.options.remove(index); } } } //当选择了部门时,去后台查询出该部门下的人员 function getAllUserByDeptId(selectDept){ var deptid = selectDept.value; var leftUser = $("#leftUser")[0]; leftUser.options.length=0; if(deptid){ var parameters = new Object(); parameters["deptid"]=deptid; parameters["roleid"]=$("#zdfwRoleId").val(); $.post("${ctx}/role/getUserByDeptIdAndRoleId.json",parameters,function(data){ for(var i=0;i<data.length;i++){ var id = data[i].id; var realName = data[i].realname; leftUser.options.add(new Option(realName,id)); } },"json"); } } function saveZdfw(){ var parameters = new Object(); var rightDept = $("#rightDept")[0]; var rightDeptLength = rightDept.options.length; //取得右边的所有 已选部门的ID for(var i = 0 ; i < rightDeptLength; i++){ parameters["deptId"+(i+1)] = rightDept.options[i].value; } var rightUser = $("#rightUser")[0]; var rightUserLength = rightUser.options.length; //取得右边的所有 已选人员的ID for(var i = 0 ; i < rightUserLength; i++){ parameters["userId"+(i+1)] = rightUser.options[i].value; } parameters["roleId"] = $("#zdfwRoleId").val(); $.post("${ctx}/role/saveZdfw.json",parameters,function(data) { if(data["message"]=="success"){ alert("保存成功"); } }, "json"); } //--> </script> <div id="zdfwPage"> <input id="zdfwRoleId" name="zdfwRoleId" type="hidden" value="${role.id }"> <table border="0" align="center" id="zdfwTable" style="text-align: center;width: 640px;height: 100%;"> <tr> <td colspan="3" style="text-align: center;line-height: 30px;background: #99BBE8;"> <b>角色名称:</b>${role.name } </td> </tr> <tr> <td width="280px" height="30px" style="background: #CCE8CF;"> <div style="text-align: center;"><b>可选部门</b></div> </td> <td width="80px"> </td> <td width="280px" height="30px" style="background: #CCE8CF;"> <div style="text-align: center;"><b>已选部门</b></div> </td> </tr> <tr> <td width="280px" height="200px"> <select id="leftDept" style="width:280px;overflow:auto;height: 100%" size="13"> <c:forEach items="${leftDept}" var="depart"> <option value="${depart.id}"><c:out value="${depart.name }"/></option> </c:forEach> </select> </td> <td width="80px"> <div align="center"> <span style="cursor: pointer;" onclick="moveDepartment('addDept');"><font color="red">添 加</font><br><br></span> <span style="cursor: pointer;" onclick="moveDepartment('addAllDept');"><font color="red">全部添加</font><br><br></span> <span style="cursor: pointer;" onclick="moveDepartment('deleteDept');"><font color="red">删 除</font><br><br></span> <span style="cursor: pointer;" onclick="moveDepartment('deleteAllDept');"><font color="red">全部删除</font><br></span> </div> </td> <td width="280px"> <select id="rightDept" style="width:280px;overflow:auto;height: 100%" size="13"> <c:forEach items="${rightDept}" var="depart"> <option value="${depart.id}"><c:out value="${depart.name }"/></option> </c:forEach> </select> </td> </tr> <tr> <td width="280px" height="30px" style="background: #CCE8CF;"> <div style="text-align: center;"><b>可选人员</b><span> 所在部门: <select id="deptid" name="deptid" onchange="getAllUserByDeptId(this);"> <option value="">请选择</option> <c:forEach items="${allDept}" var="temp"> <option value="${temp.id}">${temp.name}</option> </c:forEach> </select> </span> </div> </td> <td width="80px"> </td> <td width="280px" height="30px" style="background: #CCE8CF;"> <div style="text-align: center;"><b>已选人员</b></div> </td> </tr> <tr> <td width="280px" height="200px"> <select id="leftUser" style="width:280px;overflow:auto;height: 100%" size="13"> <c:forEach items="${leftUser}" var="user"> <option value="${user.id}"><c:out value="${user.realname }"/></option> </c:forEach> </select> </td> <td width="80px"> <div align="center"> <span style="cursor: pointer;" onclick="moveDepartment('addUser');"><font color="red">添 加</font><br><br></span> <span style="cursor: pointer;" onclick="moveDepartment('addAllUser');"><font color="red">全部添加</font><br><br></span> <span style="cursor: pointer;" onclick="moveDepartment('deleteUser');"><font color="red">删 除</font><br><br></span> <span style="cursor: pointer;" onclick="moveDepartment('deleteAllUser');"><font color="red">全部删除</font><br></span> </div> </td> <td width="280px"> <select id="rightUser" style="width:280px;overflow:auto;height: 100%" size="13"> <c:forEach items="${rightUser}" var="user"> <option value="${user.id}"><c:out value="${user.realname }"/></option> </c:forEach> </select> </td> </tr> <tr> <td colspan="3" height="80px"> <div align="center"> <input type="button" onclick="saveZdfw();" style="line-height: 18px;" value="保存"> <input type="button" class="close" style="line-height: 18px;" value="取消"> </div> </td> </tr> </table> </div>
2.后台处理类
RoleController
@Controller @RequestMapping("/role") public class RoleController extends BaseRestSpringController<Role,java.lang.String>{ private RoleManager roleManager; private DepartmentManager departmentManager; private UserinfoManager userinfoManager; private MenuManager menuManager; private final String LIST_ACTION = "redirect:/role";/** * 增加setXXXX()方法,spring就可以通过autowire自动设置对象属性,注意大小写 **/ public void setRoleManager(RoleManager manager) { this.roleManager = manager; } public void setMenuManager(MenuManager menuManager) { this.menuManager = menuManager; } public void setUserinfoManager(UserinfoManager userinfoManager) { this.userinfoManager = userinfoManager; } public void setDepartmentManager(DepartmentManager departmentManager) { this.departmentManager = departmentManager; } /** binder用于bean属性的设置 */ @InitBinder public void initBinder(WebDataBinder binder) { binder.registerCustomEditor(Date.class, new CustomDateEditor(new SimpleDateFormat("yyyy-MM-dd"), true)); } /** * 增加了@ModelAttribute的方法可以在本controller方法调用前执行,可以存放一些共享变量,如枚举值,或是一些初始化操作 */ @ModelAttribute public void init(ModelMap model) { model.put("now", new java.sql.Timestamp(System.currentTimeMillis())); /** * 读入静态字典 */ StaticDict.fillMapAll(model); }//根据部门ID,角色ID 取得该部门下面的所有没有选择该角色的人员(启用状态的) @RequestMapping(value="/getUserByDeptIdAndRoleId") public String getUserByDeptIdAndRoleId(HttpServletRequest request,HttpServletResponse response) throws Exception { String deptid = request.getParameter("deptid"); String roleid = request.getParameter("roleid"); List<Userinfo> userList = userinfoManager.getUserByDeptIdAndRoleId(deptid, roleid); List<UserinfoQuery> userQuery = new ArrayList<UserinfoQuery>(); for(Userinfo user:userList){ UserinfoQuery query = new UserinfoQuery(); query.setId(user.getId()); query.setRealname(user.getRealname()); userQuery.add(query); } JSONArray jsonArray = new JSONArray(); jsonArray.addAll(userQuery); response.setContentType("text/html"); response.setCharacterEncoding("utf-8"); PrintWriter out = response.getWriter(); out.write(jsonArray.toString()); out.flush(); out.close(); return null; } /**角色与部门及人员关系维护 进入指定范围页面 */ @RequestMapping(value="/{id}/zdfw") public String zdfw(ModelMap model,@PathVariable java.lang.String id) throws Exception { Role role = (Role)roleManager.getById(id); //该角色ID 没有选择的 所有启用状态的部门 List<Department> leftDept = departmentManager.getNoSelectedDeptsByRoleId(id); //该 角色ID 已经选择的 所有部门 List<Department> rightDept = departmentManager.getSelectedDeptsByRoleId(id); //该角色ID已经选择的所有人员 List<Userinfo> rightUser = userinfoManager.getSelectedUsersByRoleId(id); //取得所有部门,用于选择部门下的人员 List<Department> allDept = departmentManager.getAllDepts(); model.addAttribute("leftDept",leftDept); model.addAttribute("allDept",allDept); model.addAttribute("rightDept",rightDept); model.addAttribute("rightUser",rightUser); model.addAttribute("role",role); initAddAndUpdate(model); return "/role/zdfw"; } /** 保存指定范围结果 */ @RequestMapping(value="/saveZdfw") public String saveZdfw(HttpServletRequest request,HttpServletResponse response) throws Exception { List<String> deptIdList = new ArrayList<String>(); int deptIndex = 1; String deptid = ServletRequestUtils.getStringParameter(request, "deptId"+deptIndex); while(deptid != null){ if(!deptIdList.contains(deptid)){ deptIdList.add(deptid); } deptIndex++; deptid = ServletRequestUtils.getStringParameter(request, "deptId"+deptIndex); } List<String> userIdList = new ArrayList<String>(); int userIndex = 1; String userid = ServletRequestUtils.getStringParameter(request, "userId"+userIndex); while(userid != null){ if(!userIdList.contains(userid)){ userIdList.add(userid); } userIndex++; userid = ServletRequestUtils.getStringParameter(request, "userId"+userIndex); } String roleid = request.getParameter("roleId"); List<Roledetail> roleDetailList = new ArrayList<Roledetail>(); for(String dept:deptIdList){ Roledetail detail = new Roledetail(); detail.setDeptid(dept); detail.setRoleid(roleid); roleDetailList.add(detail); } for(String user:userIdList){ Roledetail detail = new Roledetail(); detail.setUserid(user); detail.setRoleid(roleid); roleDetailList.add(detail); } roleManager.updateForZdfw(roleid, roleDetailList); JSONObject json = new JSONObject(); response.setContentType("text/html"); response.setCharacterEncoding("utf-8"); PrintWriter out = response.getWriter(); json.put("message", "success"); out.write(json.toString()); out.flush(); out.close(); return null; } }
页面显示效果:
发表评论
-
一些常用的正则表达式
2011-12-01 21:21 1283<!DOCTYPE html PUBLIC " ... -
50个必备的实用jQuery代码段
2011-10-13 10:56 1055本文会给你们展示50个jq ... -
Jquery uploadify实现文件上传 flash方式
2011-09-25 14:28 2835使用 Jquery的插件 uploadify 实现文件的上传 ... -
springmvc+dwz+xheditor实现上传图片及swf 视频
2011-09-23 17:30 6748注意:如果使用了apache fileupload上传方法,则 ... -
jquery实现table 行拖动排序
2011-09-23 16:41 3289话不多说,代码如下, 需要用到Jquery的如下JS: jqu ... -
jspSmartUpload组件上传下载详解
2011-07-01 13:54 1237jspSmartUpload组件上传下载详解(全攻略,全集) ... -
Jquery读取本地文件内容
2011-05-12 14:48 5214$("#one a").css(&qu ... -
jQuery性能优化
2011-05-12 14:10 7471.总是从ID选择器开始继 ... -
字符数组和数值数组排序sort
2011-05-12 14:02 11771.字符数组 var members=["Chi ... -
Jquery Ajax 提交 级联实现
2011-05-12 13:55 1198页面代码 <div> 省 ... -
用于验证同时可以给一个或多个用户发送邮件的邮件地址验证:
2011-05-12 13:46 1120用于验证同时可以给一个或多个用户发送邮件的邮件地址验证: ... -
Jquery ajax请求Struts2 action 返回xml数据
2011-05-12 13:42 1911Jquery 发送ajax请求,action 或servlet ... -
项目里用到的Jquery,json,struts2结合
2011-05-12 13:19 1526struts.xml <?xml version=& ... -
文件上传Fileupload组件
2011-04-18 22:51 10441.jsp页面:method必须为post,enctype=& ... -
FCKeditor在线编辑器的使用(jsp:html在线编辑器=FCKeditor 2.2+FCKeditor.java 2.3 )
2011-03-18 14:00 862在线编辑器对于我们作 ... -
JSP & Servlet
2011-02-24 17:35 1240JSP: JSP文件必须在JSP服 ... -
JSP小结(1)
2011-01-25 15:32 7521、forward和redirect的区别 答:forward ... -
Jquery基础知识
2011-01-04 14:08 8931.特点: 小巧 功能强 跨浏览器 ...
相关推荐
本示例主要关注如何利用jQuery实现在HTML表格(table)中移动行(tr)的同时保持行内的序号不变,这对于数据排序或用户交互有着重要的应用。我们将探讨以下关键知识点: 1. jQuery选择器与DOM操作: jQuery提供了...
jQuery.table2excel.js是一个非常实用的插件,它能帮助开发者轻松地实现这一功能。下面,我们将详细探讨这个插件的使用方法、原理以及相关的JavaScript和HTML知识。 首先,让我们了解一下`jquery.table2excel.js`的...
table tr 改变列宽 jquery
为了实现更好的效果,可以将`thead`和`tbody`分别封装在两个独立的`div`中,分别设置它们的`position`为`relative`和`absolute`,这样在滚动时,`tbody`会覆盖在`thead`上方,而不会影响到表头的定位。 CSS部分,...
1. **选择表格**:使用jQuery的选择器选择你要操作的两个表格。例如,如果表格ID分别为"table1"和"table2",可以使用`$("#table1"), $("#table2")`来获取表格对象。 2. **选择行**:在表格中选择特定行。可以使用`....
`jquery.table.tr.js` 很可能是实现上述功能的 JavaScript 插件,它可能封装了表格行的移动和删除逻辑,以便更方便地在项目中使用。使用时,需要确保该插件被正确引入,并且调用相应的 API 来实现所需功能。 六、...
在“Bootstrap Table两个Table数据之间行数据拖拽”的主题中,我们主要讨论的是如何实现用户可以通过拖放操作在两个Bootstrap表格之间移动行数据,这种功能在数据管理、比较或重新排序场景中非常实用。 首先,我们...
通常,这涉及到两个主要步骤:发送ajax请求到服务器获取数据,然后将返回的数据动态添加到表格中。 ##### 2.1 前端HTML结构 首先,我们需要在HTML页面中创建一个空的表格结构,并为用户交互提供入口点,比如一个...
jQuery是一个广泛使用的JavaScript库,简化了DOM操作、事件处理和Ajax交互。HTML表格(table)是网页中组织结构化数据的常见方式,而Excel则是一种流行的电子表格应用程序,用于处理和分析数据。 要将HTML表格转换...
1. 鼠标移动行变色:jQuery的`hover()`函数用于在鼠标进入和离开时执行不同的操作。例如,当鼠标悬停在表格行上时,可以通过添加`hover`类来改变行内单元格的颜色,反之则移除该类以恢复原色。 2. 奇偶行不同颜色:...
本文将详细讲解如何使用JavaScript实现输入框内上下左右键以及Enter键控制表格(table)中的光标移动,并在光标到达最后一个输入框时新增一行,确保这个功能在多个浏览器中都能正常工作。 首先,我们需要理解...
《jQuery Table to Excel:高效导出表格数据》 在现代Web开发中,处理表格数据并进行导出是一项常见的任务。jQuery作为一个广泛使用的JavaScript库,提供了许多便利的功能,其中包括将HTML表格转换为Excel文件的...
js与jQuery实现获取table中的数据并拼成json字符串操作示例 本文主要介绍了使用JavaScript和jQuery实现从HTML表格中获取数据并将其拼成JSON字符串的操作示例。该示例涉及到JavaScript和jQuery对HTML页面表格数据的...
在网页开发中,jQuery是一个非常流行的JavaScript库,它简化了DOM操作、事件处理、动画以及Ajax交互等任务。本篇文章将深入探讨如何使用jQuery来动态地给HTML表格(table)赋值,通过一个具体的实例来展示相关技巧。...
“jquery.table2excel.min.js”是Table2Excel插件的压缩包,主要包含核心的JavaScript代码。这个轻量级的插件通过jQuery选择器选取HTML表格,然后将其内容转换成Excel格式,让用户可以一键下载。由于其基于浏览器的...
### 一、Table绑定数据与JQuery分页的基本概念 #### 1.1 Table绑定数据 在Web开发中,`Table`是一种常见的用于展示数据的方式。对于动态生成的数据表格,我们通常需要将后台查询到的数据与前端的表格进行绑定,以便...
在网页开发中,jQuery是一个非常流行的JavaScript库,它极大地简化了DOM操作、事件处理和动画效果。本知识点主要探讨如何使用jQuery实现表格(table)中行的上下移动互换功能。这一功能常用于数据管理界面,允许用户...
`jQuery`作为一个广泛使用的JavaScript库,提供了丰富的功能和便利的方法来实现这种效果。本教程将深入探讨如何利用`jQuery`来创建一个表头固定、内容区域可滚动的表格。 首先,我们需要在HTML中构建基本的表格结构...
在网页开发中,表格(Table)是展示数据的常用组件,而jQuery库为开发者提供了丰富的API,使得操作表格中的元素,如复选框(Checkbox),变得更加便捷。本篇将详细探讨如何利用jQuery实现表格中checkbox的相关事件...
首先,我们需要引入jQuery库,它是JavaScript的一个轻量级库,提供了丰富的DOM操作、事件处理和动画效果。在HTML文件中添加以下代码引入jQuery: ```html <script src="https://code.jquery....