在easyui-tabs中的href或 content的多种条件下的不同页面内容和页面地址的赋值?
$('#tt').tabs('add', {.....});中 的 加载内容, 可以用content, 或用 href都是可以的. 虽然它们加载 的方式不一样, 但是 只要是加载进去后, 加载成功后, 在页面中的html代码都是一样的! 地位都是一样的, 都是 页面中的html代码
content 可以直接写 html字符串, 也可以写 iframe src="foo.html" 都是一样的
如果是 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的 目标页面返回的 内容: 不管是什么页面, 即使是 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语言是类似的, 表示的是 访问类的 静态成员 和 静态方法, 定义的方式是: 在 定义 类后, 在紧接着类的后面, 在类的外面, 用: Person. staticStockProperty = 10000; Person.staticMethod= function(){...}
关于js的类的 属性/方法的访问, 可以使用 点语法, 也可以使用 中括号语法, 但是 点语法就只能是 "字面字符串属性名" 不能在进行计算变化了. 而中括号中可以包括 变量或数字, 当然用 字符串相加的加号, 即: 可以是 一个表达式, 表达式计算的结果作为属性名称.
js字符串拼接中的函数参数, 其类型如果是字符串, 但是 你 使用的是变量, 那么 要在 变量的 外面 额外地 加上 引号
var 定义字符串 定义的时候, 不能使用 +=
可以正常运行的代码并不表示 就是 : 合适的代码: 比如 : var num=1 和 num=1 两者并不相同: var num=1 是 变量声明(可能是全局变量, 也可能是 函数/对象中的局部变量) , 因此 它自带 "不可删除"的属性, 不能使用 delete num来删除它. 而 num=1 是 变量赋值: (首先会 在 当前作用域链)中寻找 该属性, 如果没有, 则 创建默认的 全局对象(即 浏览器的window对象) 的 属性. 因为是对象的属性, 所以, 可以用 delete来删除它. 这就是 : var num=1 和 num=1 变量声明 和 创建对象属性的区别.
===============
tp的find和select?
find: 当查询的结果只能是一条数据时, 建议使用find. 因为find会自动 在查询的后面加上 limit 1
find: 获得的结果是: 一维数组, 所以 可以直接 输出 这个数组的元素, 而不需要用volist等循环. 但是select 总是 输出的是 二维数组. 即使只有一条数据纪录, 也要这样: $resut[0]['name']等的样式来提取.
在easyui-tabs中的href或 content的多种条件下的不同页面内容和页面地址的赋值?的更多相关文章
- 解决easyui tabs中href无法跨域跳转
<!DOCTYPE HTML> <html> <head> <meta http-equiv="content-type" content ...
- jquery.easyui.tabs 中的首个tabs被最后tabs覆盖的问题解决方法
这是由于tabs对href重载的的问题导致,因此我们需要将href更改为其它自定义的属性即可避免此问题的发生. 解决方法如下: 第一步页面端: 循环体开始 <li> <div> ...
- onhashchange事件,只需要修改hash值即可响应onhashchange事件中的函数(适用于上一题下一题和跳转页面等功能)
使用实例: 使用onhashchange事件做一个简单的上一页下一页功能,并且当刷新页面时停留在当前页 html: <!DOCTYPE html><html><body& ...
- 浅谈 easyui tabs 的href和content属性
众所周知,jQuery Easyui 的tabs插件有两种方式加载某个tab(标签页)上的内容:“href远程请求”和“content本地内容”,本文就两种方式的优缺点进行简单分析和思考. 两者特点: ...
- jquery easyui 中tab页添加其他页面,href与content的用法与区别
//tab页增加 function addPanel(name,url){ var dd = $('#tt').tabs('exists',name); if(dd){ $('#tt').tabs(' ...
- 【EasyUI】Tabs常用操作及href和content的异同
说明:EasyUI版本1.3.4 ,jQuery版本1.8.3 EasyUI Tabs常见使用方式 按照官方文档的说法,创建Tabs的方式有两种: 静态页面标签 动态JS代码 静态方式主要用于创建一些 ...
- easyui 在子tabs中打开新tabs(关于easyUI在子页面增加显示tabs的一个问题)
现在说的是在子页面点个按钮也能触发增加子页面的情况. 情景是,在父页面上有个div如: <div class="easyui-tabs" id="main" ...
- 布局-EasyUI Panel 面板、EasyUI Tabs 标签页/选项卡、EasyUI Accordion 折叠面板、EasyUI Layout 布局
EasyUI Panel 面板 通过 $.fn.panel.defaults 重写默认的 defaults. 面板(panel)当做其他内容的容器使用.它是创建其他组件(比如:Layout 布局.Ta ...
- EasyUI Tabs + Yii2.0实现iframe方式打开页面(解决共用静态文件引入加载的问题)
在项目实际开发中,有将打开的各个链接页面隔离的需求(防止静态资源起冲突),这个时候常规思路就是使用iframe来实现!但遇到一个比较棘手的问题,当用easyui Tabs打开一个iframe页面时,怎 ...
随机推荐
- “GIS DICTIONARY A-Z” 查询页面开发(3)—— 基础知识之服务器、IP地址、域名、DNS、端口以及Web程序的访问流程
今天补一补基础知识: 一.服务器:能够提供服务的机器,取决于机器上安装的软件(服务软件).服务器响应服务请求,并进行处理. Web服务器:提供Web服务,即网站访问.常见Web服务软件:Apache( ...
- css三种引入方式以及其优先级的说法
css 三种引入方式 方式一:行间式 1.在标签头部的style属性内 2.属性值满足css语法 3.属性值用key:value形式赋值,value具有单位 4.属性值之间用 分号 : ...
- top - 交互式监控
top - display Linux processes 显示linux进程 格式: top -hv|-bcHiOSs -d secs -n max -u|U user -p pid -o fld ...
- zabbix--源码安装报错总结
源码安装 zabbix 报错总结 1)报错: configure: error: MySQL library not found 解决办法 # find / -name "mysql_con ...
- kuangbin专题专题四 Currency Exchange POJ - 1860
题目链接:https://vjudge.net/problem/POJ-1860 大致题意:有不同的货币,有很多货币交换点,每个货币交换点只能两种货币相互交换,有佣金C,汇率R. 每次交换算一次操作, ...
- 目标检测论文解读5——YOLO v1
背景 之前热门的目标检测方法都是two stage的,即分为region proposal和classification两个阶段,本文是对one stage方法的初次探索. 方法 首先看一下模型的网络 ...
- 云打印 对Echo的Beta产品测试报告
云打印 对Echo的Beta产品测试报告 课程名称:软件工程1916|W(福州大学) 团队名称: 云打印 作业要求: 项目Beta冲刺(团队) 作业目标:作业集合 团队队员 队员学号 队员姓名 个人博 ...
- nuxt 项目设置缩进为4个空格
1..editorconfig 文件下的indent_size: 2更改为indent_size: 4 2..prettierrc 文件 { "singleQuote": true ...
- ssm批量删除
ssm批量删除 批量删除:顾名思义就是一次性删除多个.删除是根据前台传给后台的id,那么所谓批量删除,就是将多个id传给后台,那么如何传过去呢,前后台的交互该如何实现? 1.jsp页面,先选中所有的要 ...
- Docker中Maven私服的搭建
为何用到Maven私服? 在实际开发中,项目中可能会用到第三方的jar.内部通讯的服务接口都会打入到公司的私服中. 我们从项目实际开发来看: 一些无法从外部仓库下载的构件,例如内部的项目还能部署到私服 ...