javascript或者jquery替换值问题。。。急急,在线等待

王者天下ii 2013-05-29 04:29:06
<div data-options="region:'west',title:'管理系统练习左侧列表',split:true" href="left.jsp" style="width: 230px;">
</div>
<div data-options="region:'center',title:'管理系统练习中间主界面'" id="zhrefId" href="CenterPage.jsp" style="background: #eee; overflow: hidden;">
</div>

在left.jsp页面中如何通过id="zhrefId"替换href页面
...全文
1098 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
王者天下ii 2013-05-29
  • 打赏
  • 举报
回复
引用 8 楼 yan470925731 的回复:
[quote=引用 7 楼 yan470925731 的回复:] [quote=引用 4 楼 jordan102 的回复:]
-------------------------------------------------------》CenterPage.jsp <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <script type="text/javascript" charst="utf-8"> $(function () { /*扩展Editors的datetimebox方法*/ $.extend($.fn.datagrid.defaults.editors, { datetimebox: {//为方法取名 init: function (container, options) { var editor = $('<input />').appendTo(container); options.editable = false;//设置其不能手动输入 editor.datetimebox(options); return editor; }, getValue: function (target) {//取值 return $(target).datetimebox('getValue'); }, setValue: function (target, value) {//设置值 $(target).datetimebox('setValue', value); }, resize: function (target, width) { $(target).datetimebox('resize', width); }, destroy: function (target) { $(target).datetimebox('destroy');//销毁生成的panel } } }); }); var editFlag = undefined;//设置一个编辑标记 //因为layout框架指向href时,只取html页面body中间的部分,所以该页面这样写即可 //有datagrid包含属性较多,所以尽量使用js的方式初始化datagrid框架 $(function () { $("#dg").datagrid({ rowStyler: function (index, row) {//与列样式用法相同 if (row.code == 001) { return 'background-color:#6293BB;color:#fff;'; } }, url: "", //指向一个一般处理程序或者一个控制器,返回数据要求是Json格式,直接赋值Json格式数据也可,我以demo中自带的Json数据为例,就不写后台代码了,但是我会说下后台返回的注意事项 iconCls: "icon-add", fitColumns: false, //设置为true将自动使列适应表格宽度以防止出现水平滚动,false则自动匹配大小 //toolbar设置表格顶部的工具栏,以数组形式设置 idField: 'id', //标识列,一般设为id,可能会区分大小写,大家注意一下 loadMsg: "正在努力为您加载数据", //加载数据时向用户展示的语句 pagination: true, //显示最下端的分页工具栏 rownumbers: true, //显示行数 1,2,3,4... pageSize: 10, //读取分页条数,即向后台读取数据时传过去的值 pageList: [10, 20, 30], //可以调整每页显示的数据,即调整pageSize每次向后台请求数据时的数据 //由于datagrid的属性过多,我就不每个都介绍了,如有需要,可以看它的API sortName: "name", //初始化表格时依据的排序 字段 必须和数据库中的字段名称相同 sortOrder: "asc", //正序 frozenColumns: [[ //冻结列 就是指定显示参照列 使其不会出现滚动条 { field: 'name', title: 'Name', width: 100, sortable: true, editor: { //设置其为可编辑 type: 'validatebox',//设置编辑格式 options: { required: true//设置编辑规则属性 } }, formatter: function (value, rowData, index) {//value:字段的值。rowData:行数据。rowIndex:行索引。 return "<span title='" + value + "'>" + value + "<span>";//实现鼠标放到单元格上时的提示 //return "*****";//实现显示星号样式 } }//sortable:true点击该列的时候可以改变升降序 ]], columns: [[ { field: 'code', title: '操作列', width: 100, formatter: function (value, rowData, index) {//value:字段的值。rowData:行数据。rowIndex:行索引。 return "<button onclick='clickFunc(" + index + ");'>操作</button>";//将索引传给方法,可以选中该行 } //editor: { // //设置其为可编辑 // type: 'validatebox',//设置编辑样式 自带样式有:text,textarea,checkbox,numberbox,validatebox,datebox,combobox,combotree 可自行扩展 // options: {} //} }, { field: 'addr', title: 'addr', width: 100, editor: { //设置其为可编辑 type: 'datetimebox',//这里我们将进行一个datetimebox的扩展 options: { required: true//设置编辑规则属性 } }, styler: function (value, rowData, index) {//设置列样式(列属性API),value列的值,index列索引,rowData行数据 if (index < 3) { return 'background-color:#ffee00;color:red;'; } } } ]],//这里之所以有两个方括号,是因为可以做成水晶报表形式,具体可看demo toolbar: [{ //在dategrid表单的头部添加按钮 text: "添加", iconCls: "icon-add", handler: function () { if (editFlag != undefined) { $("#dg").datagrid('endEdit', editFlag); //结束编辑,传入之前编辑的行 } if (editFlag == undefined) { //防止同时打开过多添加行 $("#dg").datagrid('insertRow', { //在指定行添加数据,appendRow是在最后一行添加数据 index: 0, // 行数从0开始计算 row: { code: '', name: '请输入姓名', addr: '' } }); $("#dg").datagrid('beginEdit', 0); //开启编辑并传入要编辑的行 editFlag = 0; } } }, '-', { //'-'就是在两个按钮的中间加一个竖线分割,看着舒服 text: "删除", iconCls: "icon-remove", handler: function () { //选中要删除的行 var rows = $("#dg").datagrid('getSelections'); if (rows.length > 0) { //选中几行的话触发事件 $.message.confirm("提示", "您确定要删除这些数据吗?", function (res) { //提示是否删除 if (res) { var codes = {}; for (var i = 0; i < rows.length; i++) { codes.push(rows[i].code); } console.info(codes.join(',')); //拼接字符串并传递到后台处理数据,循环删除,成功后刷新datagrid } }); } } }, '-', { text: "修改", iconCls: "icon-edit", handler: function () { //选中一行进行编辑 var rows = $("#dg").datagrid('getSelections'); if (rows.length == 1) { //选中一行的话触发事件 if (editFlag != undefined) { $("#dg").datagrid('endEdit', editFlag); //结束编辑,传入之前编辑的行 } if (editFlag == undefined) { var index = $("#dg").datagrid('getRowIndex', rows[0]); //获取选定行的索引 $("#dg").datagrid('beginEdit', index); //开启编辑并传入要编辑的行 editFlag = index; } } } }, '-', { text: "保存", iconCls: "icon-save", handler: function () { $("#dg").datagrid('endEdit', editFlag); } }, '-', { text: "撤销", iconCls: "icon-redo", handler: function () { editFlag = undefined; $("#dg").datagrid('rejectChanges'); } }, '-'], onAfterEdit: function (rowIndex, rowData, changes) { //在添加完毕endEdit,保存时触发 console.info(rowData); //在火狐浏览器的控制台下可看到传递到后台的数据,这里我们就可以利用这些数据异步到后台添加,添加完成后,刷新datagrid //如何去判断是修改还是添加 var insertRows = $("#dg").datagrid("getChanges", "insert"); //获取添加的行 var updateRows = $("#dg").datagrid("getChanges", "update"); //获取更新的行 //这样我们就能去判断是添加数据还是修改数据了,怎样跟后台交互我就不写了 //当然 如果我们更细或者修改成功失败与否我们都应该去告诉一下dategrid $("#dg").datagrid("acceptChanges"); //成功时确认下 $("#dg").datagrid("rejectChanges"); //失败时回滚下 editFlag = undefined; //重置 }, onDblClickCell: function (rowIndex, field, value) { //双击该行修改内容 if (editFlag != undefined) { $("#dg").datagrid('endEdit', editFlag); //结束编辑,传入之前编辑的行 } if (editFlag == undefined) { $("#dg").datagrid('beginEdit', rowIndex); //开启编辑并传入要编辑的行 editFlag = rowIndex; } }, onRowContextMenu: function (e, rowIndex, rowData) { //右键时触发事件 //三个参数:e里面的内容很多,真心不明白,rowIndex就是当前点击时所在行的索引,rowData当前行的数据 e.preventDefault(); //阻止浏览器捕获右键事件 $(this).datagrid("clearSelections"); //取消所有选中项 $(this).datagrid("selectRow", rowIndex); //根据索引选中该行 $('#menu').menu('show', { //显示右键菜单 left: e.pageX,//在鼠标点击处显示菜单 top: e.pageY }); } }); });
王者天下ii 2013-05-29
  • 打赏
  • 举报
回复
引用 7 楼 yan470925731 的回复:
[quote=引用 4 楼 jordan102 的回复:]
----------------------------》left.jsp <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <script src="js/jquery-1.4.4.min.js" type="text/javascript"></script> <script src="js/jquery.adubytree.js" type="text/javascript"></script> <link rel="StyleSheet" href="css/adubytree.css" type="text/css" /> <script type="text/javascript"> jQuery(document).ready(function(){ var jsondata ={id : "node-0" , data: "管理系统练习", children: [ { id : "node-1" ,data: "管理系统练习1", children: [ { id : "node-1-1" ,data: "管理系统练习1.1", children: [ { id : "node-1-1-1" ,data: "管理系统练习1.1.1"}, { id : "node-1-1-2" ,data: "管理系统练习1.1.2"} ]}, {id : "node-1-2" , data: "管理系统练习1.2"}, {id : "node-1-3" ,data: "管理系统练习1.3"} ] }, {id : "node-2" ,data: "管理系统练习2"}, {id : "node-3", data: "管理系统练习3", children: [ { id : "node-3-1" ,data: "管理系统练习3.1", children: [ {id : "node-3-1-1" , data: "管理系统练习3.1.1", children: [ { id : "node-3-1-1-1" , data: "管理系统练习3.1.1-1"}, { id : "node-3-1-1-2" , data: "管理系统练习3.1.1-2"} ] } ] } ] } ] }; $("#adubytreeStrengthen").AdubyTree({ dataType:"json", checkboxes:true, data:jsondata, treeType:"strengthen", onClick:function(node){ //alert(node.id); $('#zhrefId').attr('href','http://www.baidu.com'); } }); }); </script> <div align="left"> <table border="0"> <tr> <td valign ="top"><div id="adubytreeStrengthen"></div></td> </tr> </table> <%--<ul id="myMenu" class="contextMenu"> <li class="edit"><a href="#edit">Edit</a></li> <li class="cut separator"><a href="#cut">Cut</a></li> <li class="copy"><a href="#copy">Copy</a></li> <li class="paste"><a href="#paste">Paste</a></li> <li class="delete"><a href="#delete">Delete</a></li> <li class="quit separator"><a href="#quit">Quit</a></li> </ul>--%> </div>
王者天下ii 2013-05-29
  • 打赏
  • 举报
回复
引用 4 楼 jordan102 的回复:
jquery 包是否载入? firebug 控制台下看看报什么错了。
我把代码贴出来吧?index.jsp <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link href="jquery-easyui-1.3.2/themes/default/easyui.css" rel="stylesheet" /> <link href="jquery-easyui-1.3.2/themes/icon.css" rel="stylesheet" /> <script src="jquery-easyui-1.3.2/jquery-1.8.0.min.js"></script> <script src="js/JavaScript.js"></script><!--这个是扩展Jquery的方法--> <script src="jquery-easyui-1.3.2/jquery.easyui.min.js"></script> <script src="jquery-easyui-1.3.2/locale/easyui-lang-zh_CN.js"></script> </head> <body id="layoutbody" class="easyui-layout"> <div data-options="region:'north',title:'jquery管理系统练习',split:true" style="height: 100px;"> </div> <div data-options="region:'west',title:'管理系统练习左侧列表',split:true" href="left.jsp" style="width: 230px;"> </div> <div data-options="region:'center',title:'管理系统练习中间主界面'" id="zhrefId" href="CenterPage.jsp" style="background: #eee; overflow: hidden;"> </div> <div data-options="region:'east',split:true" title="管理系统练习右侧菜单" style="width:180px;"></div> </body> </html>
一起混吧 2013-05-29
  • 打赏
  • 举报
回复
你的代码不止这些吧,把出错那行代码贴出看看。
王者天下ii 2013-05-29
  • 打赏
  • 举报
回复
引用 4 楼 jordan102 的回复:
jquery 包是否载入? firebug 控制台下看看报什么错了。
Uncaught TypeError: Cannot read property 'defaults' of undefined
一起混吧 2013-05-29
  • 打赏
  • 举报
回复
jquery 包是否载入? firebug 控制台下看看报什么错了。
王者天下ii 2013-05-29
  • 打赏
  • 举报
回复
引用 2 楼 jordan102 的回复:
$(function(){ $('#zhrefId').attr('href','http://www.baidu.com'); });
这样不知道为什么没有反应,之前这样写过,唯一的区别 jQuery(document).ready(function(){ $("#adubytreeStrengthen").AdubyTree({ dataType:"json", checkboxes:true, data:jsondata, treeType:"strengthen", onClick:function(node){ //alert(node.id); $('#zhrefId').attr('href',‘node-0.jsp’); } }); });
一起混吧 2013-05-29
  • 打赏
  • 举报
回复
$(function(){ $('#zhrefId').attr('href','http://www.baidu.com'); });
王者天下ii 2013-05-29
  • 打赏
  • 举报
回复
有人知道没或者谁有更好的方法解决这个问题

87,915

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧