Jquery 一些特殊技巧

string 轉 Json:

當MVC  將  A class 轉成 A字串 儲存後 又包在其他 B class 轉成  B json 傳回前端
jquery 收到 B json 但 A字串還是string 所以需轉成  obj
var HomeObj = jQuery.parseJSON(QusHead_Info.home_sel);
*********************************************************

EasyUI call function:

例如:我有 A B C  datalist 選中後要執行差不多的動作
$("#" + ListName).datalist({
        onSelect: function (rowIndex, rowData) {
            if (rowData) {
                 alert(rowData.Qnum);
            }
        }
    });
一般要寫 ABC 3段 可改成
$("#" + ListName).datalist({
        onSelect:Mysel;
    });

 function Mysel(rowIndex, rowData) {
            if (rowData) {
                  alert(rowData.Qnum);
            }
這樣就簡化很多
但問題是 Mysel 怎麼知道誰 call 他
用 $(this).datalist("clearSelections"); 就可知道
***********************************************

Html 內有重複名稱的 ID 怎麼處理

由於一個網頁內有許多重複的功能 怕改了一個忘了另幾個
所以統一寫一個HTML檔 開啟時再用 jquery 貼上
例如: XXX.HTML
<div id="a"></div>
<div id="b"></div>
<div id="c"></div>
都要貼上 <input id="K" type="text" value="" /> 這一段
那就有個問題  XXX.HTML 會有 3個 K 的 id
用 $("#K") 只會動到第一個 鐵定不行
如果只想動 b 底下的 K
我試一下
$("#b #K") 是可以用的 不用在那邊find 一堆

**********************************************

定義多個click 執行同一function 但要帶參數

例如
$(xx),click(aa); 當 xx click 才去跑 aa
如果帶參數 這樣寫
$(xx),click(aa(1));  他會馬上就去 run aa 這樣是不行
javascript function 加上() 就表立即執行

要用特殊方法  $(xx),click(Jsondata,aa);  
$(xx),click({msg: "ok"} ,aa); //如果多個就json加
等於是用 json 傳參數進去
function aa(event){
  alert(event.data,msg);
}
這樣才行














留言

熱門文章