具体基础的用法,可先看下这个文件做下了解,地址:http://files.cnblogs.com/dachuang/uizjs.rar

请先看完上面的文件,不然下面的可能看不懂,当然你要是之前了解过的话没问题

下面说下简单的总结:

1.先说列表页:

uizjs就是自造一个table,这个table是以一个自造的行模板来依次复制出来的,所以uizjs就是定义出一个行模板,这里有两种方式:一种是直接用js定义模板格式,一种是用html定义模板

第一种:(这是公司的一个高手写的,我没看明白,你也看不懂的话,直接第二种)

var paratable = {
"body": "#lst", "key": "DataList", "ulstr": "tr", "listr": "td", "para": para,
"keyc": ["Id", "Title"],
"cols": ['<input class="limt-check" type="checkbox"/>', "Title,align-l", "Stock", "Istop,,sf"],
"getcmd": "/CMS/Product/List",
"buttons": {
"推送": {
"prompt": true, "click": function (p) {
zjs.cmd({
cmd: "/CMS/AppPush/Add",
para: {
"PushContent": p.para.id1,
"Url": "<%="http://"+KNET.WAWP.Logical.Library.App+KNET.WAWP.Logical.Library.MyDomain%>/Mobile/Product/details.aspx?id=" + p.para.id
},
callback: function () {
// $(this).html("已推送");
}
});
}, "clas": "btn-cotr cotr-gavy"
},
"修改": { "url": "/CMS/Function/Product/Add.aspx?id=#Id#", "alert": true, "alertwidth": "800px", "clas": "btn-cotr cotr-gavy" },
"删除": { "cmd": "/cms/Product/DeleteByID", "clas": "btn-cotr cotr-gavy", "confirm": "确认要删除吗?" }
},
"callback": function (e, data) {
Research();
}, "getcallback": function (e, data) {
if (BaseCategory.CurrID) {
BaseCategory.UpdateBut(this.TotalRows, BaseCategory.CurrID);
} else {
BaseCategory.Init("<%=KNET.WAWP.Logical.ViewModel.CategoryType.Products %>", "新建分类", 0);
}
}
};

第二种:(比较容易理解,就是我们平常用的html)

模板html:

<tbody id="lst">
<tr class="uls" style="z-index: 300;" id="tr#Id#">
<td class="align-l">#Title#</td>
<td>#Discount#%</td>
<td><span>#StartDate#</span>至<span>#EndDate#</span></td>
<td>#CreateDate#</td>
<td class="tbody_btns"><a class="btn-cotr cotr-gavy" title="编辑" owidth="500px" oheight="400px" openurl="/cms/Promotion/adddiscount.aspx?id=#Id#">编辑</a><a class="btn-cotr cotr-yellow" title="删除" execcmd="/Promotion/SalesRule/Delete" callback="Research" data-id="#Id#" confirm="确定要删除吗?">删除</a></td>
</tr>
</tbody>

配合的js:

window.ctable = new window.zjs.ctable({
"body": "#lst",
"getcmd": "/Promotion/SalesRule/ListPage",
"para": para,
"isTemplate": true,
dateformat: "yyyy-MM-dd"
});

2.接下来说添加/编辑页面,就是提交表单的页面:

这里有个强制的要求:

form的class必须为cform, 提交按钮必须为a,且必须id=”submit” ,大家都懂得,用起来简单的东西,都有一些强制的规定

需要注意的是:

readonly的input不会传给服务器

password的input传回服务器的是md5过的

直接例子:

<form id="WLK_WAWP_BASE_ENTERPRISE_INFO" class="cform" cmds="/Promotion/SalesRule/Detail" cmdu="/Promotion/SalesRule/Update" cmdi="/Promotion/SalesRule/Add" setcallback="close()" before="dateValidation" dateformat="yyyy-MM-dd">
<input id="Id" type="hidden" value="<%=Request["id"] %>" />
<input id="SalesType" type="hidden" value="1" />
<div class="pop-div">
<div class="">
<ul class="ul-form promotion">
<li>
<label>活动标题<span class="imprt">*</span></label>
<input type="text" class="form-control promotion-title" id="Title" rule="required;length:40:2" />
</li>
<li>
<label>促销折扣<span class="imprt">*</span></label>
<input type="text" class="form-control discount" id="Discount" rule="required;number;integer;gt:1;lt:99" />
%
</li>
<li>
<label>促销时间<span class="imprt">*</span></label>
<input type="text" class="form-control promotion-start promotion-date" id="StartDate" readonly="readonly" rule="required;">&nbsp;&nbsp;至&nbsp;
<input type="text" class="form-control promotion-end promotion-date" id="EndDate" readonly="readonly" rule="required;">
</li>
<li class="putbox">
<a class="btn btn-green btn-small" id="submit">提交</a>
<a class="btn btn-gavy btn-small" href="javascript:closefast();">取消</a>
</li>
</ul>
</div>
</div>
</form>

用到的js(before里的函数)

window.dateValidation = function () {
var validate = dateComparison($startCreateDate.val(), $endCreateDate.val());
if (!validate) {
alert('结束时间必须晚于开始时间!');
}
return validate;
}

uiZjs入门的更多相关文章

  1. Angular2入门系列教程7-HTTP(一)-使用Angular2自带的http进行网络请求

    上一篇:Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数 感觉这篇不是很好写,因为涉及到网络请求,如果采用真实的网络请求,这个例子大家拿到手估计还要自己写一个web ...

  2. ABP入门系列(1)——学习Abp框架之实操演练

    作为.Net工地搬砖长工一名,一直致力于挖坑(Bug)填坑(Debug),但技术却不见长进.也曾热情于新技术的学习,憧憬过成为技术大拿.从前端到后端,从bootstrap到javascript,从py ...

  3. Oracle分析函数入门

    一.Oracle分析函数入门 分析函数是什么?分析函数是Oracle专门用于解决复杂报表统计需求的功能强大的函数,它可以在数据中进行分组然后计算基于组的某种统计值,并且每一组的每一行都可以返回一个统计 ...

  4. Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数

    上一篇:Angular2入门系列教程5-路由(一)-使用简单的路由并在在路由中传递参数 之前介绍了简单的路由以及传参,这篇文章我们将要学习复杂一些的路由以及传递其他附加参数.一个好的路由系统可以使我们 ...

  5. Angular2入门系列教程5-路由(一)-使用简单的路由并在在路由中传递参数

    上一篇:Angular2入门系列教程-服务 上一篇文章我们将Angular2的数据服务分离出来,学习了Angular2的依赖注入,这篇文章我们将要学习Angualr2的路由 为了编写样式方便,我们这篇 ...

  6. Angular2入门系列教程4-服务

    上一篇文章 Angular2入门系列教程-多个组件,主从关系 在编程中,我们通常会将数据提供单独分离出来,以免在编写程序的过程中反复复制粘贴数据请求的代码 Angular2中提供了依赖注入的概念,使得 ...

  7. wepack+sass+vue 入门教程(三)

    十一.安装sass文件转换为css需要的相关依赖包 npm install --save-dev sass-loader style-loader css-loader loader的作用是辅助web ...

  8. wepack+sass+vue 入门教程(二)

    六.新建webpack配置文件 webpack.config.js 文件整体框架内容如下,后续会详细说明每个配置项的配置 webpack.config.js直接放在项目demo目录下 module.e ...

  9. wepack+sass+vue 入门教程(一)

    一.安装node.js node.js是基础,必须先安装.而且最新版的node.js,已经集成了npm. 下载地址 node安装,一路按默认即可. 二.全局安装webpack npm install ...

随机推荐

  1. libsqlite3.dylib找不到

    Xcode7中 Link Binary With Libraries 没有 .dylib库,只能找到对应的 .tbd,但不能代替使用,通过查找资料,尝试后得到以下两种解决方法. 方法1. (heqin ...

  2. MVP+RXJAVA+RecyclerView实现sd卡根目录下的所有文件中的照片加载并显示

    初学Rxjava,目前只能遍历加载指定目录下的所有文件夹中的照片,文件夹中如果还嵌套有文件夹目前还没找到实现方法. 先看mvp目录结构: 很抱歉,没有model. 接下来是view层的接口代码和pre ...

  3. EffectiveJava笔记(第一部分)

    考虑用静态构造方法代替构造器的好处: 1.静态构造方法有名字     BigInteger.probablePrime(int, int, Random)比 new BigInteger(int, i ...

  4. angular 控制器之间的通信

    1, 利用作用域的继承方式 由于作用域的继承是基于js的原型继承方式,所以这里分为两种情况,当作用域上面的值为基本类型的时候,修改父作用域上面的值会 影响到子作用域,反之,修改子作用域只会影响子作用域 ...

  5. 欧拉回路-Door Man 分类: 图论 POJ 2015-08-06 10:07 4人阅读 评论(0) 收藏

    Door Man Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 2476 Accepted: 1001 Description ...

  6. sql server 添加字段并且赋默认值和说明

    select soct.Captcha,CreateOn,* from SceneryOrderCheckTicket soctright join (SELECT Captcha,convert(c ...

  7. jquery uploadify上传插件兼容火狐问题

    jquery uploadify长传插件兼容火狐问题.因为现在火狐以不在默认安装flash插件.所以uploadify的flash版就需要安装flash插件.还可以成功. 可以到哪里下载安装:http ...

  8. JAVA线程池的创建

    /** * 创建不同类型的线程池 Executors * * @author */ public class ThreadPoolTest01 { public static void main(St ...

  9. haha

    [问题描述] 栈是一种强大的数据结构,它的一种特殊功能是对数组进行排序.例如,借助一个栈,依次将数组1,3,2按顺序入栈或出栈,可对其从大到小排序:1入栈:3入栈:3出栈:2入栈:2出:1出栈.在上面 ...

  10. Android编译选项eng、user、userdebug的区别

    eng:debug 版本 user: release 版本 userDebug版本:部分debug版本 LOCAL_MODULE_TAGS := user eng optional test这个样子. ...