在easyui-tabs中的href或 content的多種條件下的不一樣頁面內容和頁面地址的賦值?

  1. $('#tt').tabs('add', {.....});中 的 加載內容, 能夠用content, 或用 href都是能夠的. 雖然它們加載 的方式不同, 可是 只要是加載進去後, 加載成功後, 在頁面中的html代碼都是同樣的! 地位都是同樣的, 都是 頁面中的html代碼php

  2. content 能夠直接寫 html字符串, 也能夠寫 iframe src="foo.html" 都是同樣的html

  3. 若是是 href 就要寫要加載的 頁面地址, 可是:
  • 這個頁面地址, 必須是用: "{:U('fooOperate')}", 必須是操做地址, 不然會報錯!
  • 若是地址不是固定的, 可能分多種狀況而不一樣, 那麼href就不能寫死了, 就要用一個 變量來 表示!
  • 而後 分狀況 用 if...else 或 switch ..case來肯定 那個 href的變量!
  • 可是 , 不能 在 tabs 的 add 方法中 , 再來使用 if...else等. 由於 這個是 js, 不是 html, 不是任意輸出任意寫的. 即 : 不能這樣寫: tabs('add', {...href: if(...){else....})這樣就是 錯誤的.
<script>
$(function(){
  var tt=$('#tt');
  $('ul#pjck>li a').click(function(){
    var tit=this.innerHTML;

    if(tt.tabs('exists', tit)){
      tt.tabs('select', tit);
    }else{
      var hf='';
      if(tit=='按ff查看'){ hf= "{:U('ckt')}";}
      if(tit=='按fff查看'){ hf= "{:U('ckc')}";}
      if(tit=='按ggg查看'){ hf= "{:U('ckd)}";}
      if(tit=='按ffgf查看'){ hf= "{:U('cks')}";}
      tt.tabs('add',{
    title:tit,
    href: hf,
    closable:true,
    cache: true,
      });
    } 
  });
});
    </script>

========================ajax

關於 ajax的 目標頁面返回的 內容: 不論是什麼頁面, 即便是 php頁面, 最後返回的 數據, 必須是 "輸出 " 含義的: 必須是 echo的, 不能是 return的! 若是 把返回給 ajax 的內容 寫成 return, 那麼實際上 客戶端是得不到 返回數據的, 必須是 echo的 !! 不然是很難調試這個錯誤的!

=============================================數組

關於js中的很長不少內容的字符串的動態拼接寫法

js的字符串若是須要換行, 必須使用 反斜槓  來鏈接, 不然會報錯: unterminated string literal . 輸出時, 全部反斜槓 先後的內容都被認爲是字符串自己包含的內容. 若是alert會照原樣輸出
可是js支持 += 後面的字符串再帶 加號. 並且, 若是是用 加號, 則能夠任意地寫 字符串. 並且中間的空格不會包含在結果字符串中.
爲了邏輯清晰, 可能須要將一行中的數據, 寫成多行拼接.
字符串動態拼接, 在ajax回調函數中, 幾乎是必須的.瀏覽器

  • 要習慣於 函數的另外一種定義寫法: 用變量的方式: var getsomething = function(a,b){..}
  • js的對象: 關於js的對象, 參考: http://www.cnblogs.com/lidabo/archive/2011/12/17/2291238.html
    有兩種表示方法: 一種是 直接用大括號的方式(簡單粗暴) 好比: var one_Person={name: 'jack', age: 20} 可是要注意了: 這個時候, 就表示one_Person 已是一個實實在在的 具體的對象了, 不僅是 一個 類了. 所以 就不須要 再去 初始化了, 因此, 你能夠 直接引用它的成員了. 好比: alert(one_Person.name). {} 中能夠爲空, 也能夠非空

一種是用 函數的方式(即用相似 class 的方式) , 只是 關鍵字用的是 function, 不是 class. 好比:函數

function Person(iname, iage){
var  _this=this;   // 統一的用 _this來預先保存this.
var name='foo';   // 默認的私有成員的值
var age=10;
_this.name='foo';
_this.age=10;

var init = function(){
name=iname;
age=iage;
_this.name=iname;
_this.age=iage;

}

init(); // 模擬的構造函數


}

此時, 成員變量若是是私有的成員/私有方法/私有"構造函數" 都須要在前面加 var. (此時私有的就不能在 類的外部訪問了), 若是要在 類的外部訪問, 須要使用 this:: 能夠在 "函數類" 中使用關鍵字 this.
要注意的是: 此時 咱們定義的僅僅只是 一個類, 尚未 任何對象, 所以, 還不能直接使用 Preson類的name/age屬性! 因此 必須 先 對 Person類 進行 初始化 ! 獲得一個 實實在在的 對象後, 再 引用訪問這個對象的屬性即: alert(Person.name) 是沒有結果的. (可是不能算錯!) 而要用 var ap=new Person('jack', 15) 來生成一個實實在在的對象後, 再去訪問它的屬性成員: alert(ap.name) 就能夠了oop

那種直接 用類的名稱 來訪問的屬性, 跟傳統的 OOP語言是相似的, 表示的是 訪問類的 靜態成員 和 靜態方法, 定義的方式是: 在 定義 類後, 在緊接着類的後面, 在類的外面, 用: Person. staticStockProperty = 10000; Person.staticMethod= function(){...}

關於js的類的 屬性/方法的訪問, 可使用 點語法, 也可使用 中括號語法, 可是 點語法就只能是 "字面字符串屬性名" 不能在進行計算變化了. 而中括號中能夠包括 變量或數字, 固然用 字符串相加的加號, 即: 能夠是 一個表達式, 表達式計算的結果做爲屬性名稱.this

js字符串拼接中的函數參數, 其類型若是是字符串, 可是 你 使用的是變量, 那麼 要在 變量的 外面 額外地 加上 引號
var 定義字符串 定義的時候, 不能使用 +=調試

能夠正常運行的代碼並不表示 就是 : 合適的代碼: 好比 : var num=1 和 num=1 二者並不相同: var num=1 是 變量聲明(多是全局變量, 也多是 函數/對象中的局部變量) , 所以 它自帶 "不可刪除"的屬性, 不能使用 delete num來刪除它. 而 num=1 是 變量賦值: (首先會 在 當前做用域鏈)中尋找 該屬性, 若是沒有, 則 建立默認的 全局對象(即 瀏覽器的window對象) 的 屬性. 由於是對象的屬性, 因此, 能夠用 delete來刪除它. 這就是 : var num=1 和 num=1 變量聲明 和 建立對象屬性的區別.

===============code

tp的find和select?

find: 當查詢的結果只能是一條數據時, 建議使用find. 由於find會自動 在查詢的後面加上 limit 1 find: 得到的結果是: 一維數組, 因此 能夠直接 輸出 這個數組的元素, 而不須要用volist等循環. 可是select 老是 輸出的是 二維數組. 即便只有一條數據紀錄, 也要這樣: $resut[0]['name']等的樣式來提取.

相關文章
相關標籤/搜索