1//tab增加「關閉所有頁」和「關閉非當前頁」的功能
2 $("#tabs").tabs();;9}
10});
1112 $("#closeallbtn").bind("click",function
()22
}
23});
2425 $("#closenotcurrbtn").bind("click",function
()37
} 38 $tabs.tabs('select', curtitle);
39 });
html增加menu:
1<
div
id="tab_menu"
class
="easyui-menu"
style
="width:120px;"
>
2<
div
id="closeallbtn"
data-options
="iconcls:'fa fa-times-circle-o red'"
>關閉所有頁
div>
3<
div
id="closenotcurrbtn"
data-options
="iconcls:'fa fa-minus-circle red'"
>關閉非當前頁
div>
4div
>
這個easyui自身的bug當時在除錯解決時為了找到問題所在,花了不少時間。
方法是修改datagrid中renderrow方法的原始碼:
1 renderrow:function(_698,_699,_69a,_69b,_69c)
9 cc.push(""+_69d+"
");10}11
for(var i=0;i<_699.length;i++)25}
26 }else
2930
var css=col.styler?(col.styler(_69f,_69c,_69b)||""):"";
31var _6a0="";
32var _6a1="";
33if(typeof css=="string")else40}
41var cls=_6a0?"class=\""+_6a0+"\"":"";
42var _6a2=col.hidden?"style=\"display:none;"+_6a1+"\"":(_6a1?"style=\""+_6a1+"\"":"");
43 cc.push("");
44if
(col.checkbox)else
51if(!opts.nowrap)else57}
58}59 cc.push(");
60 cc.push(col.checkbox?"class=\"datagrid-cell-check\"":"class=\"datagrid-cell "+col.cellclass+"\"");
61 cc.push(">");
62if
(col.checkbox)else
else70}
71 cc.push("
");72 cc.push("");73}
74}75return cc.join("");
76 }
easyui原始碼只有27行,if...else是本人修改後的**。
方法:修改easyui form部分的validate方法:
1function
_447(_44f)
13 }else
16});
1718
//過濾掉隱藏的表單項
19var _450=t.find(".validatebox-invalid:not(:hidden)");
2021 _450.filter(":not(:disabled):first").focus();
22return _450.length==0;23}
24return
true
;25 };
方法:修改datagrid滑鼠經過事件mouseover部分的**。
關鍵點:內容超出td範圍的判斷。
1 dc.body1.add(dc.body2).unbind().bind("mouseover",function(e)5
var tr=$(e.target).closest("tr.datagrid-row");67
//2015-04-09 **內容如果超出td的邊界,則用tooltip展示
8var div = $(e.target).closest("div.datagrid-cell");
9if(div[0] !=undefined));21}
22 }).tooltip("show");23}
24}2526
if(!_53a(tr))
29var _53b=_53c(tr);
30_58d(_52c,_53b);
31e.stoppropagation();
32 })
方法:在combotree中重寫combo元件中的keyhandler物件的query方法。
1 $.fn.combotree.defaults=$.extend({},$.fn.combo.defaults,$.fn.tree.defaults,6}7 });
_findnode查詢對應節點:
//2015-5-26
function
_findnode(t, value);
_selectnode($tree,searchinfo);
}function
_matchnodes(nodetree,matchvalue,matchs)
_matchnodes(children[i], matchvalue, matchs);}}
}function
_selectnode($tree,searchinfo)
}}
這裡會用到乙個得到中文首字母的解決方案:
var chineseutil =
//處理arrresult,返回所有可能的拼音首字母串陣列
return
_mkrslt(arrresult);
function
_checkch(ch)
function
_mkrslt(arr)
}else
//把複製並修改後的陣列連線到arrrslt上
arrrslt =arrrslt.concat(tmp);}}
}return
arrrslt;}}
};
jquery easyui二次開發總結(二)
1 tab增加 關閉所有頁 和 關閉非當前頁 的功能 2 tabs tabs 9 10 11 12 closeallbtn bind click function 22 23 24 25 closenotcurrbtn bind click function 37 38 tabs.tabs sele...
jquery easyui根據需求進行二次開發
運用easyui進行開發時新新增的個性化功能和對部分easyui自身bug的修復,由於easyui的半開源,有些還是有難度的,記錄下來方便日後需要時查閱。解決方法 給tree的iconcls傳入乙個陣列,分別是各狀態下的class css 然後要改動easyui關於tree節點組裝部分的 if it...
ArcGis二次開發ArcEngine開篇
以一款簡單gis軟體截引入本篇內容 萬事開頭難,如何利用arcengine開發一款gis產品呢?一款簡單的gis軟體基本布局如上圖所示,共劃分為六個區域,分別是選單欄區,工具欄區,地圖 圖層樹管理區,地圖 圖層顯示區以及布局 製版 區。這幾個布局區域都是用arcengine提供的控制項實現的 除選單...