knockout+bootstrap--一些复杂的应用合集
一、针对My97日历控件的绑定
普通绑定和特殊格式绑定(红色部分)
<!-- ko foreach: items --> <td class="ruyeeTableTDLable"> <span>批准专业日期</span></td> <td class="ruyeeTableDataCell"> <div class="input-group"> <input data-validation-engine="validate[maxSize[10]],validate[required],custom[date]," data-bind="attr: { id: 'A7615' +$index(),value:A7615} " type="text" class="form-control"> <div class="input-group-addon "> <span class="glyphicon glyphicon-calendar" data-bind="attr: { onclick: 'WdatePicker({ el:A7615' + $index() + '})' }"> </span> </div> </div> </td> <td class="ruyeeTableTDLable"> <span>转业年份</span></td> <td class="ruyeeTableDataCell"> <div class="input-group"> <input data-validation-engine="validate[maxSize[10]],validate[required],validate[date]," data-bind="attr: { id: 'A7616' +$index(),value:A7616} " type="text" class="form-control"> <div class="input-group-addon "> <span class="glyphicon glyphicon-calendar" data-bind="attr: { id: 'WP_A7616_' +$index()} "></span> </div> </div> </td> <!-- /ko -->
/// <reference path="../knockout-3.2.0.js" /> var koList; var deletedIds = Array(); var ViewModel = function (data, func) { var self = this; self.items = ko.mapping.fromJS(data.items); self.struct = ko.mapping.fromJS(data.structV); builLeftNva(self); self.success = ko.observable(); self.success.subscribe(function (nv) { var success = $.trim(nv); ) { $('#success').modal('show'); } }); self.canSubmit = ko.observable(false); self.submit = function () { if ($("#form_id").validationEngine("validate")) { ; i < koList().length; i++) { //时间格式转换 koList()[i].A7615($('#A7615' + i).val()); koList()[i].A7616($('#A7616' + i).val()); } $.ajax({ url: postOneModelActionUrl, contentType: "application/json", type: "POST", data: ko.mapping.toJSON({ items: self.items, deletedIdList: deletedIds }), success: function (response) { self.success(response.Description); }, async: false }); } }; self.closeSuccess = function () { self.success(''); $('#success').modal('toggle'); }; self.deleteOne = function (item) { self.items.remove(item); if (item.ID() != null) { deletedIds.push(item.ID()); } } self.addNew = function () { //新增时的特殊处理 var js = ko.mapping.toJS(self.struct); js.A7615 = getDateString(); js.A7616 = getDateString(); var newItem = ko.mapping.fromJS(js); self.items.push(newItem); func(); } self.canSubmit(true); $('#form_id').validationEngine(); koList = self.items; //延时处理,解决KO性能问题 setTimeout(func, ); } var refreshList = function () { ; i < koList().length; i++) { //时间格式转换,如果是新增的(新增的ID为null)则无需转换 if (koList()[i].ID != null) { $('#WP_A7616_' + i).click(function () { WdatePicker({ dateFmt: 'yyyy-MM', el: $('#A7616' + this.getAttribute('id').split('_')[2]).attr('id') }); }) koList()[i].A7615(changeDateFormat(koList()[i].A7615())); koList()[i].A7616(changeDateFormat(koList()[i].A7616(), null, null, null, false)); } } }; $(document).ready(function () { $('#create').addClass('active'); $.ajax({ url: getStructActionUrl, contentType: "application/json", type: "POST", data: JSON.stringify({ A01ID: QueryString.GetValue('a01id') }), success: function (data) { ko.attach("A76Model", new ViewModel(data, refreshList)); }, error: function (XMLHttpRequest, textStatus, errorThrown) { switch (XMLHttpRequest.status) { : changeLocationToLogin(); break; } } }); })
knockout+bootstrap--一些复杂的应用合集的更多相关文章
- 从零开始学数据分析,什么程度可以找到工作?( 内附20G、5000分钟数据分析工具教程大合集 )
从零开始学数据分析,什么程度可以找到工作?( 内附20G.5000分钟数据分析工具教程大合集 ) 我现在在Coursera上面学data science 中的R programming,过去很少接 ...
- 不容错过的UI设计素材大合集
免费PSD素材 TETHR by InVision 这是出自InVision的8款PSD文件,其中包含了100个模板和超过500个UI控件.来自InVision和UI8的设计师一同协作完成了这套UI ...
- 你想找的Python资料这里全都有!没有你找不到!史上最全资料合集
你想找的Python资料这里全都有!没有你找不到!史上最全资料合集 2017年11月15日 13:48:53 技术小百科 阅读数:1931 GitHub 上有一个 Awesome - XXX 系列 ...
- 最新最全的 Android 开源项目合集
原文链接:https://github.com/opendigg/awesome-github-android-ui 在 Github 上做了一个很新的 Android 开发相关开源项目汇总,涉及到 ...
- 超全的 Vue 开源项目合集,签收一下
超全的 Vue 开源项目合集,签收一下 xiaoge2016 前端开发 1周前 作者:xiaoge2016 链接: https://my.oschina.net/u/3018050/blog/2049 ...
- SQL Server技术内幕笔记合集
SQL Server技术内幕笔记合集 发这一篇文章主要是方便大家找到我的笔记入口,方便大家o(∩_∩)o Microsoft SQL Server 6.5 技术内幕 笔记http://www.cnbl ...
- 【Android】开发中个人遇到和使用过的值得分享的资源合集
Android-Classical-OpenSource Android开发中 个人遇到和使用过的值得分享的资源合集 Trinea的OpenProject 强烈推荐的Android 开源项目分类汇总, ...
- [Erlang 0122] Erlang Resources 2014年1月~6月资讯合集
虽然忙,有些事还是要抽时间做; Erlang Resources 小站 2014年1月~6月资讯合集,方便检索. 小站地址: http://site.douban.com/204209/ ...
- [Erlang 0114] Erlang Resources 小站 2013年7月~12月资讯合集
Erlang Resources 小站 2013年7月~12月资讯合集,方便检索. 附 2013上半年盘点: Erlang Resources 小站 2013年1月~6月资讯合集 小站地 ...
随机推荐
- jquery+php+mysql实现Ajax省市县三级联动
1.第一步建立一个html页面的,放置省.市.县三个select选择框,代码如下: <!DOCTYPE html> <html> <head> <title& ...
- 在VC下采用ADO实现BLOB(Binary)数据的存储,读取,修改,删除。
在VC下采用ADO实现BLOB(Binary)数据的存储,读取,修改,删除. 作者:邵盛松 2009-09-05 前言 1关于的BLOB(Binary)数据的存储和读取功能主要参考了MSDN上的一篇& ...
- C++的学习资源
本文总结了几个好的C++网站,以及C++方面的经典书籍.所列书籍或标准可以到这里找找电子版. wikipedia关于C++有关条目,注意看后面“参考文献”和“外部链接”: C++ programmin ...
- apply 伴生对象 单例对象
apply(): 当类或者对象有一个主要用途时,apply方法提供了很好语法机制 scala> class Foo {} defined class Foo scala> object F ...
- Spring 4.x Task 和 Schedule 概述(代java配置)
转载请注明https://zhangzhaoyu.github.io/2016/09/30/spring-task-and-schedule-deep-research/ 摘要 在很多业务场景中,系统 ...
- PHP MVC
学习一个框架之前,基本上我们都需要知道什么是mvc,即model-view-control,说白了就是数据控制以及页面的分离实现,mvc就 是这样应运而生的,mvc分为了三个层次,而且三个层次各司其职 ...
- webpack使用tree shaking的问题。及关于UglifyJs不支持ES6的解决方案。
webpack: plugins:[ new webpack.optimize.UglifyJsPlugin({ compress:{warning:true} }) ] 是的,一些dead code ...
- C#交错数组的用法
class Program { static void Main(string[] args) { /* *交错数组,就是一个一维数组里面的每一项都是一个一维数组 *new交错数组的时候需要注意int ...
- wininet异步InternetReadFile和超时相关问题
wininet是对socket的封装 主要流程为创建,连接,发送,接收,关闭几个过程 所以在回调函数InternetStatusCallback中可以检测到dwInternetStatus #defi ...
- Hammer.js--转载自李林峰的园子
一.前言 移动端框架当前还处在初级阶段,但相对于移动端的应用来说已经有很长时间了.虽然暂时还没有PC端开发的需求量大,但移动端的Web必然是一种趋势,在接触移动端脚本的过程中,最开始想到的是juqer ...