在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']等的样式来提取.

相关文章
相关标签/搜索