網路答案說是因為Easy-ui在低版時應將class樣式刪去,而在javascript裡寫url,因為class裡有url的話javascript裡也存在url,就會讓頁面刷新倆次,但是測試後沒有解決我的問題,後來透過反覆測試終於找到問題,
<ul id="eva" style=" font-size:25px; "> </ul>
因為在頁面寫了style,將style裡的樣式刪除就可以解決問題了,現附上完整的ajax動態樹和Grid表格代碼。
<html> <head> <title>Tree</title> <link href="../../Content/JQEasyUI/themes/default/easyui.css" rel="stylesheet" type="text/css" /> <link href="../../Content/JQEasyUI/themes/icon.css" rel="stylesheet" /> <script src="../../Scripts/jquery-1.4.4.min.js" type="text/javascript"></script> <script src="../../Scripts/jquery.unobtrusive-ajax.js" type="text/javascript"></script> <script src="../../Scripts/jquery.easyui.min.js" type="text/javascript"></script> <script src="../../Scripts/easyui-lang-zh_CN.js" type="text/javascript"></script> <script type="text/javascript"> var NodeText; var time; var treeeva; $(function () { initTable(); $("#SelectForm").css("display", "none"); bindSearcheClick(); $('#eva').tree({ url: '/OEE/GetTree', method: 'get', animate: true, checkbox: true }); }); //初始化表格 function initTable() { $('#tt').datagrid({ url: '/OEE/Details', title: 'OEE', width: 700, height: 360, fitColumns: true, idField: 'Fid', loadMsg: '正在加载设备的信息...', pagination: true, singleSelect: false, pageSize: 10, pageNumber: 1, pageList: [10, 20, 30], queryParams: {//要传入的参数 NodeResult: NodeText, SelectTime: $('#SelectTime').datebox('getValue') }, columns: [[//{EID, ETypeName, ThenTypeInfoTID, EtypeNum} {field: 'Num', title: '设备编号', width: 80, align: "center" }, { field: 'Name', title: '设备名称', width: 80, align: "center" }, { field: 'EarlyTimeOEE', title: '早班OEE', width: 80, align: "center" }, { field: 'MiddleTimeOEE', title: '午班OEE', width: 80, align: "center" }, { field: 'LaterTimeOEE', title: '晚班OEE', width: 80, align: "center" }, { field: 'DelFlag', title: '操作', width: 80, align: 'center', formatter: function (value, row, index) { var str = "<a Fid='" + row.Fid + "' class='SelectInfo' href='javascript:void(0)'>明细</a> "; return str; } } ]], onHeaderContextMenu: function (e, field) { }, onLoadSuccess: function (data) { $(".SelectInfo").unbind("click"); $(".SelectInfo").bind("click", function () { doSelect($(this).attr("Fid"), time); return false; }); } }); } function doSelect(Fid, Time) { var reg = new RegExp("-", "g"); var strobj = Fid.toString(); var newstr = strobj.replace(reg, "$"); $('#SelectFrame').attr('src', '/OEE/GetSelectInfo/' + Fid + '/' + Time); $('#SelectForm').css('display', 'block'); $('#SelectForm').dialog({ width: 470, height: 470, modal: true, title: "显示明细信息", collapsible: true, minimizable: true, maximizable: true, resizable: true, buttons: [{ id: 'btnSelect', text: '确定', iconCls: 'icon-add', handler: function () { $("#SelectForm").dialog("close"); } }] }); } //绑定搜索查询的 点击事件 function bindSearcheClick() { //linkButtonSearch $("#linkButtonSearch").click(function () { var nodes = $('#eva').tree('getChecked'); var s = ''; for (var i = 0; i < nodes.length; i++) { if (s != '') s += ','; s += nodes[i].id; } NodeText = s; time = $('#SelectTime').datebox('getValue'); initTable(); }); } </script> </head> <body> <div style="width: 1000px"> <div style="width: 200px; float: left"> <div style="margin: 23px 0;"> </div> <div class="easyui-panel" style="padding: 5px; border-radius: 5px;"> <ul id="eva" > </ul> </div> </div> <div id="Right"> <div id="query"> 查询时间:<input class="easyui-datebox" name="SelectTime" id="SelectTime" /> <a id="linkButtonSearch" href="javascript:void(0)" class="easyui-linkbutton" data-options="iconCls:'icon-search'"> 查询</a> </div> <table id="tt" style="width: 700px;" title="标题" iconcls="icon-edit"> </table> <div id="SelectForm"> <iframe id="SelectFrame" src="javascript:void(0)" frameborder="0" width="100%" height="100%"> </iframe> </div> </div> </div> </body> </html>